diff options
author | click <click@gonnamakeyou.com> | 2013-02-11 23:27:20 +0100 |
---|---|---|
committer | click <click@gonnamakeyou.com> | 2013-02-11 23:27:20 +0100 |
commit | dfa56a33e08de755fa85184436ac8d946e928ab6 (patch) | |
tree | e87dbc600de739f956332ff4ac33868f562f01ea /cmake/genrev.cmake | |
parent | 3178fc4d964dd3a3b599475d34d76742d843e9cf (diff) |
Buildsystem/CMake: Correct a few mistakes regarding WITHOUT_GIT, and add a better warning during configure-phase.
Diffstat (limited to 'cmake/genrev.cmake')
-rw-r--r-- | cmake/genrev.cmake | 54 |
1 files changed, 24 insertions, 30 deletions
diff --git a/cmake/genrev.cmake b/cmake/genrev.cmake index a335ed2bd56..a2341b501af 100644 --- a/cmake/genrev.cmake +++ b/cmake/genrev.cmake @@ -10,57 +10,51 @@ # User has manually chosen to ignore the git-tests, so throw them a warning. # This is done EACH compile so they can be alerted about the consequences. + +if(NOT BUILDDIR) + # Workaround for funny MSVC behaviour - this segment only run during compile + set(GIT_EXEC ${GIT_EXECUTABLE}) + set(BUILDDIR ${CMAKE_BINARY_DIR}) +endif() + if(WITHOUT_GIT) - message(STATUS " - By choosing the WITHOUT_GIT option, you waive all rights for support, and accept - that any or all requests for assistance by you to core developers will be rejected. - You, as user, take full responsibility for issues, problems etc that might arise - from using the core, as we we can not properly detect what codebase you're using. - We remind you that you need to use the repository and a proper version of git for - the revision/hash to work, and thus get our support if the need arises. - ") set(rev_date "1970-01-01 00:00:00 +0000") set(rev_hash "Archived") else() - # Workaround for funny MSVC behaviour - this segment only run during compile - if(NOT BUILDDIR) - set(BUILDDIR ${CMAKE_BINARY_DIR}) - set(_GIT_EXEC ${GIT_EXECUTABLE}) - endif() - - if(_GIT_EXEC) + if(GIT_EXEC) # Create a revision-string that we can use execute_process( - COMMAND "${_GIT_EXEC}" describe --match init --dirty=+ --abbrev=12 + COMMAND "${GIT_EXEC}" describe --match init --dirty=+ --abbrev=12 WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" OUTPUT_VARIABLE rev_info OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET ) - # And grab the commits timestamp + # And grab the commits timestamp execute_process( - COMMAND "${_GIT_EXEC}" show -s --format=%ci + COMMAND "${GIT_EXEC}" show -s --format=%ci WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" OUTPUT_VARIABLE rev_date OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET ) endif() -endif() -# Last minute check - ensure that we have a proper revision -# If everything above fails (means the user has erased the git revision control directory or removed the origin/HEAD tag) + # Last minute check - ensure that we have a proper revision + # If everything above fails (means the user has erased the git revision control directory or removed the origin/HEAD tag) -if(NOT rev_info) - # No valid ways available to find/set the revision/hash, so let's force some defaults - message(STATUS "WARNING - Missing repository tags - you may need to pull tags with git fetch -t") - message(STATUS "WARNING - Continuing anyway - note that the versionstring will be set to 0000-00-00 00:00:00 (Archived)") - set(rev_date "1970-01-01 00:00:00 +0000") - set(rev_hash "Archived") -else() - # Extract information required to build a proper versionstring - string(REGEX REPLACE init-|[0-9]+-g "" rev_hash ${rev_info}) + if(NOT rev_info) + # No valid ways available to find/set the revision/hash, so let's force some defaults + message(STATUS " + Could not find a proper repository signature (hash) - you may need to pull tags with git fetch -t + Continuing anyway - note that the versionstring will be set to 1970-01-01 00:00:00 (Archived)") + set(rev_date "1970-01-01 00:00:00 +0000") + set(rev_hash "Archived") + else() + # Extract information required to build a proper versionstring + string(REGEX REPLACE init-|[0-9]+-g "" rev_hash ${rev_info}) + endif() endif() # Create the actual revision.h file from the above params |