"build (hash)" and "CMAKE_SOURCE_DIR" changes

This commit is contained in:
Danny Daemonic 2023-04-29 09:09:51 -07:00
parent fbcfc8446c
commit db0b8357b6
3 changed files with 12 additions and 16 deletions

View file

@ -83,7 +83,7 @@ set(COUNT 0)
find_package(Git)
if(Git_FOUND)
execute_process(
COMMAND \${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD
COMMAND \${GIT_EXECUTABLE} rev-parse HEAD
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE TEMP_HEAD
OUTPUT_STRIP_TRAILING_WHITESPACE
@ -102,7 +102,7 @@ if(Git_FOUND)
endif()
endif()
file(WRITE \"${CMAKE_SOURCE_DIR}/build-info.h\" \"#pragma once\\n#define BUILD_NUMBER \${COUNT}\\n#define BUILD_BRANCH \\\"\${HEAD}\\\"\\n\")
file(WRITE \"${CMAKE_SOURCE_DIR}/build-info.h\" \"#pragma once\\n#define BUILD_NUMBER \${COUNT}\\n#define BUILD_COMMIT \\\"\${HEAD}\\\"\\n\")
")
# Call the script to generate build-info.h initially
@ -110,16 +110,16 @@ execute_process(
COMMAND ${CMAKE_COMMAND} -DGIT_EXECUTABLE=${GIT_EXECUTABLE} -P ${CMAKE_BINARY_DIR}/BUILD_INFO.cmake
)
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git")
if(EXISTS "${CMAKE_SOURCE_DIR}/.git")
# Add a custom target to regenerate build-info.h when .git/index changes
add_custom_target(BUILD_INFO ALL DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/build-info.h")
add_custom_target(BUILD_INFO ALL DEPENDS "${CMAKE_SOURCE_DIR}/build-info.h")
# Add a custom command to generate build-info.h when .git/index changes
add_custom_command(
OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/build-info.h"
OUTPUT "${CMAKE_SOURCE_DIR}/build-info.h"
COMMENT "Updating build-info.h"
COMMAND ${CMAKE_COMMAND} -DGIT_EXECUTABLE=${GIT_EXECUTABLE} -P ${CMAKE_BINARY_DIR}/BUILD_INFO.cmake
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/.git/index"
DEPENDS "${CMAKE_SOURCE_DIR}/.git/index"
VERBATIM
)
endif()

View file

@ -188,16 +188,16 @@ clean:
build-info.h: $(GIT_INDEX)
@BUILD_NUMBER=`git rev-list HEAD --count 2>/dev/null`;\
BUILD_BRANCH=`git rev-parse --abbrev-ref HEAD 2>/dev/null`;\
if [ -z "$$BUILD_NUMBER" ] || [ -z "$$BUILD_BRANCH" ]; then\
BUILD_COMMIT=`git rev-parse HEAD 2>/dev/null`;\
if [ -z "$$BUILD_NUMBER" ] || [ -z "$$BUILD_COMMIT" ]; then\
BUILD_NUMBER="0";\
BUILD_BRANCH="unknown";\
BUILD_COMMIT="unknown";\
fi;\
echo "#ifndef BUILD_INFO_H" > $@;\
echo "#define BUILD_INFO_H" >> $@;\
echo "" >> $@;\
echo "#define BUILD_NUMBER $$BUILD_NUMBER" >> $@;\
echo "#define BUILD_BRANCH \"$$BUILD_BRANCH\"" >> $@;\
echo "#define BUILD_COMMIT \"$$BUILD_COMMIT\"" >> $@;\
echo "" >> $@;\
echo "#endif // BUILD_INFO_H" >> $@;

View file

@ -53,6 +53,8 @@ int main(int argc, char ** argv) {
return 1;
}
fprintf(stderr, "%s: build = %d (%s)\n", __func__, BUILD_NUMBER, BUILD_COMMIT);
// save choice to use color for later
// (note for later: this is a slightly awkward choice)
con_st.use_color = params.use_color;
@ -82,12 +84,6 @@ int main(int argc, char ** argv) {
"expect poor results\n", __func__, params.n_ctx);
}
if (strcmp(BUILD_BRANCH, "master") == 0) {
fprintf(stderr, "%s: build = %d\n", __func__, BUILD_NUMBER);
} else {
fprintf(stderr, "%s: build = %s-%d\n", __func__, BUILD_BRANCH, BUILD_NUMBER);
}
if (params.seed <= 0) {
params.seed = time(NULL);
}