diff --git a/CMakeLists.txt b/CMakeLists.txt index 0a86cbca..0a87cbcc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -277,12 +277,16 @@ endif () #--- start create git-revision.h ---------------------------------------------- if (IS_GIT_REPO) - execute_process(COMMAND sh ${CMAKE_SOURCE_DIR}/src/git_revision.sh) + add_custom_target(git_revision ALL + COMMAND sh ${CMAKE_SOURCE_DIR}/src/git_revision.sh + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + COMMENT "Checking git revision" + ) - set(HAVE_GIT_REV_H "-DHAVE_GIT_REV_H") + set(HAVE_GIT_REV_H "-DHAVE_GIT_REV_H") set(GIT_REV_H "git-revision.h") else (IS_GIT_REPO) - set(HAVE_GIT_REV_H "") + set(HAVE_GIT_REV_H "") set(GIT_REV_H "") endif (IS_GIT_REPO) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 02e3204f..db48b406 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -146,6 +146,20 @@ target_include_directories(write_musrRoot_runHeader ) target_link_libraries(write_musrRoot_runHeader ${ROOT_LIBRARIES} ${MUSRFIT_LIBS} ${LIBXML2_LIBRARIES}) +#--- ensure git-revision.h is regenerated before compiling -------------------- +if (IS_GIT_REPO) + add_dependencies(addRun git_revision) + add_dependencies(any2many git_revision) + add_dependencies(dump_header git_revision) + add_dependencies(msr2data git_revision) + add_dependencies(musrfit git_revision) + add_dependencies(musrFT git_revision) + add_dependencies(musrRootValidation git_revision) + add_dependencies(musrt0 git_revision) + add_dependencies(musrview git_revision) + add_dependencies(write_musrRoot_runHeader git_revision) +endif (IS_GIT_REPO) + #--- installation info -------------------------------------------------------- install( TARGETS