diff --git a/cmake/configure_musrfit_version_file.cmake.in b/cmake/configure_musrfit_version_file.cmake.in new file mode 100644 index 00000000..48c913d6 --- /dev/null +++ b/cmake/configure_musrfit_version_file.cmake.in @@ -0,0 +1,30 @@ +# configure_musrfit_version_file.cmake.in: +set(SRC_DIR "@CMAKE_SOURCE_DIR@") +set(BIN_DIR "@CMAKE_CURRENT_BINARY_DIR@") + +# Set variables +set(CMAKE_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@") +set(MUSRFIT_VERSION "@MUSRFIT_VERSION@") + +# Get the current working branch +execute_process( + COMMAND git rev-parse --abbrev-ref HEAD + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_BRANCH + OUTPUT_STRIP_TRAILING_WHITESPACE +) + +# Get the latest abbreviated commit hash of the working branch +execute_process( + COMMAND git log -1 --pretty="%h, %ci" + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_CURRENT_SHA1 + OUTPUT_STRIP_TRAILING_WHITESPACE +) + +configure_file( + ${SRC_DIR}/cmake/git-revision.h.in + ${BIN_DIR}/git-revision.h + @ONLY +) +# EOF diff --git a/cmake/git-revision.h.in b/cmake/git-revision.h.in new file mode 100644 index 00000000..5d676b3a --- /dev/null +++ b/cmake/git-revision.h.in @@ -0,0 +1,8 @@ +#ifndef GIT_VERSION_H +#define GIT_VERSION_H + +#define GIT_BRANCH "@GIT_BRANCH@" +#define GIT_CURRENT_SHA1 @GIT_CURRENT_SHA1@ + +#endif // GIT_VERSION_H +