2024-06-26 17:33:02 +02:00
|
|
|
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/build-info.cmake)
|
2023-11-27 20:25:42 +01:00
|
|
|
|
|
|
|
set(TEMPLATE_FILE "${CMAKE_CURRENT_SOURCE_DIR}/common/build-info.cpp.in")
|
2024-06-26 17:33:02 +02:00
|
|
|
set(OUTPUT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/common/build-info.cpp")
|
2023-11-27 20:25:42 +01:00
|
|
|
|
|
|
|
# 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 "LLAMA_COMPILER = \"([^\"]*)\";" _ ${CONTENTS})
|
|
|
|
set(OLD_COMPILER ${CMAKE_MATCH_1})
|
|
|
|
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} ${OUTPUT_FILE})
|
|
|
|
endif()
|
|
|
|
else()
|
|
|
|
configure_file(${TEMPLATE_FILE} ${OUTPUT_FILE})
|
|
|
|
endif()
|