summaryrefslogtreecommitdiff
path: root/scripts/build-info.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/build-info.cmake')
-rw-r--r--scripts/build-info.cmake30
1 files changed, 18 insertions, 12 deletions
diff --git a/scripts/build-info.cmake b/scripts/build-info.cmake
index c86ab437..73853dfa 100644
--- a/scripts/build-info.cmake
+++ b/scripts/build-info.cmake
@@ -1,5 +1,5 @@
-set(TEMPLATE_FILE "${CMAKE_CURRENT_SOURCE_DIR}/scripts/build-info.h.in")
-set(HEADER_FILE "${CMAKE_CURRENT_SOURCE_DIR}/build-info.h")
+set(TEMPLATE_FILE "${CMAKE_CURRENT_SOURCE_DIR}/common/build-info.cpp.in")
+set(OUTPUT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/common/build-info.cpp")
set(BUILD_NUMBER 0)
set(BUILD_COMMIT "unknown")
set(BUILD_COMPILER "unknown")
@@ -24,15 +24,21 @@ if(Git_FOUND)
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
OUTPUT_VARIABLE HEAD
OUTPUT_STRIP_TRAILING_WHITESPACE
+ RESULT_VARIABLE RES
)
+ if (RES EQUAL 0)
+ set(BUILD_COMMIT ${HEAD})
+ endif()
execute_process(
COMMAND ${GIT_EXECUTABLE} rev-list --count HEAD
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
OUTPUT_VARIABLE COUNT
OUTPUT_STRIP_TRAILING_WHITESPACE
+ RESULT_VARIABLE RES
)
- set(BUILD_COMMIT ${HEAD})
- set(BUILD_NUMBER ${COUNT})
+ if (RES EQUAL 0)
+ set(BUILD_NUMBER ${COUNT})
+ endif()
endif()
if(MSVC)
@@ -53,22 +59,22 @@ else()
set(BUILD_TARGET ${OUT})
endif()
-# Only write the header if it's changed to prevent unnecessary recompilation
-if(EXISTS ${HEADER_FILE})
- file(READ ${HEADER_FILE} CONTENTS)
- string(REGEX MATCH "BUILD_COMMIT \"([^\"]*)\"" _ ${CONTENTS})
+# Only write the build info if it changed
+if(EXISTS ${OUTPUT_FILE})
+ file(READ ${OUTPUT_FILE} CONTENTS)
+ string(REGEX MATCH "LLAMA_COMMIT = \"([^\"]*)\";" _ ${CONTENTS})
set(OLD_COMMIT ${CMAKE_MATCH_1})
- string(REGEX MATCH "BUILD_COMPILER \"([^\"]*)\"" _ ${CONTENTS})
+ string(REGEX MATCH "LLAMA_COMPILER = \"([^\"]*)\";" _ ${CONTENTS})
set(OLD_COMPILER ${CMAKE_MATCH_1})
- string(REGEX MATCH "BUILD_TARGET \"([^\"]*)\"" _ ${CONTENTS})
+ string(REGEX MATCH "LLAMA_BUILD_TARGET = \"([^\"]*)\";" _ ${CONTENTS})
set(OLD_TARGET ${CMAKE_MATCH_1})
if (
NOT OLD_COMMIT STREQUAL BUILD_COMMIT OR
NOT OLD_COMPILER STREQUAL BUILD_COMPILER OR
NOT OLD_TARGET STREQUAL BUILD_TARGET
)
- configure_file(${TEMPLATE_FILE} ${HEADER_FILE})
+ configure_file(${TEMPLATE_FILE} ${OUTPUT_FILE})
endif()
else()
- configure_file(${TEMPLATE_FILE} ${HEADER_FILE})
+ configure_file(${TEMPLATE_FILE} ${OUTPUT_FILE})
endif()