# Generates Source/GitVersion.h from Source/GitVersion.h.in using the current # Git state and a fresh build timestamp. Invoked via `cmake -P` at build time. execute_process(COMMAND git rev-parse HEAD WORKING_DIRECTORY ${SRC_DIR} OUTPUT_VARIABLE GIT_COMMIT OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET) if(NOT GIT_COMMIT) set(GIT_COMMIT "unknown") endif() execute_process(COMMAND git status --porcelain WORKING_DIRECTORY ${SRC_DIR} OUTPUT_VARIABLE GIT_STATUS OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET) if(GIT_STATUS STREQUAL "") set(GIT_DIRTY 0) else() set(GIT_DIRTY 1) endif() string(TIMESTAMP BUILD_DATE "%Y-%m-%d__%H-%M-%S") configure_file(${TEMPLATE} ${OUTPUT} @ONLY)