diff --git a/CMakeLists.txt b/CMakeLists.txt index e88c0395..5b1aadce 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -62,17 +62,18 @@ INCLUDE(GNUInstallDirs) # ========================================================================= # Store the current commit information # ========================================================================= -EXECUTE_PROCESS(COMMAND git rev-parse HEAD OUTPUT_VARIABLE GIT_COMMIT OUTPUT_STRIP_TRAILING_WHITESPACE WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} RESULT_VARIABLE ERR_NO_GIT) +EXECUTE_PROCESS(COMMAND git rev-parse HEAD OUTPUT_VARIABLE GIT_COMMIT OUTPUT_STRIP_TRAILING_WHITESPACE WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} RESULT_VARIABLE ERR_NO_GIT OUTPUT_QUIET ERROR_QUIET) +SET(commit ${CMAKE_CURRENT_SOURCE_DIR}/src/commit.h) +FILE(WRITE ${commit} "! Define the current commit hash. The default must remain empty, i.e., ''. Do not commit the changed file!\n#define GIT_CURRENT_COMMIT 'v${PROJECT_VER}'\n") IF(${ERR_NO_GIT}) MESSAGE("No git information found. Continue without git.") + ADD_CUSTOM_TARGET(UpdateGitCommitHash COMMENT "Dummy target") ELSE() - SET(commit ${CMAKE_CURRENT_SOURCE_DIR}/src/commit.h) MESSAGE(STATUS "Current git commit ${GIT_COMMIT} will be written to ${commit}") - FILE(WRITE ${commit} "! Define the current commit hash. The default must remain empty, i.e., ''. Do not commit the changed file!\n#define GIT_CURRENT_COMMIT ''\n") EXECUTE_PROCESS(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tools/cmake/setCommitHash.sh ${commit} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + # Make sure that the script is executed even though cmake is not explicitly executed after the commit is changed in git + ADD_CUSTOM_TARGET(UpdateGitCommitHash COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tools/cmake/setCommitHash.sh ${commit}) ENDIF() -# Make sure that the script is executed even though cmake is not explicitly executed after the commit is changed in git -ADD_CUSTOM_TARGET(UpdateGitCommitHash COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tools/cmake/setCommitHash.sh ${commit}) # ========================================================================= # Check IPO support: