justasample/CMake/generate_build_info.cmake
2026-07-23 23:40:48 +02:00

22 lines
732 B
CMake

execute_process(COMMAND git describe --always --dirty --exclude=*
WORKING_DIRECTORY "${SOURCE_DIR}" OUTPUT_VARIABLE GIT_HASH OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
if(NOT GIT_HASH)
set(GIT_HASH "unknown")
endif()
execute_process(COMMAND git symbolic-ref -q HEAD
WORKING_DIRECTORY "${SOURCE_DIR}" OUTPUT_VARIABLE GIT_REF OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
if(NOT GIT_REF)
set(DETACHED "1")
else()
set(DETACHED "0")
endif()
string(TIMESTAMP BUILD_TIME "%Y-%m-%d_%H-%M-%S")
file(WRITE "${OUTPUT_FILE}"
"// Auto-generated at build time. Do not edit.\n"
"#pragma once\n"
"#define JAS_GIT_INFO \"${GIT_HASH}-detached=${DETACHED}\"\n"
"#define JAS_BUILD_TIME \"${BUILD_TIME}\"\n"
)