1 set(GIT_VERSION_FILE "${SOURCE_DIR}/git-version.cpp")
2 set(GIT_VERSION "unknown")
3 set(GIT_VERSION_UPDATE "1")
7 execute_process(COMMAND ${GIT_EXECUTABLE} describe --always
8 WORKING_DIRECTORY ${SOURCE_DIR}
9 RESULT_VARIABLE exit_code
10 OUTPUT_VARIABLE GIT_VERSION)
11 if(NOT ${exit_code} EQUAL 0)
12 message(WARNING "git describe failed, unable to include version.")
14 string(STRIP ${GIT_VERSION} GIT_VERSION)
16 message(WARNING "git not found, unable to include version.")
19 if(EXISTS ${GIT_VERSION_FILE})
20 # Don't update if marked not to update.
21 file(STRINGS ${GIT_VERSION_FILE} match
22 REGEX "PPSSPP_GIT_VERSION_NO_UPDATE = 1")
23 if(NOT ${match} EQUAL "")
24 set(GIT_VERSION_UPDATE "0")
27 # Don't update if it's already the same.
28 file(STRINGS ${GIT_VERSION_FILE} match
29 REGEX "${GIT_VERSION}")
30 if(NOT ${match} EQUAL "")
31 set(GIT_VERSION_UPDATE "0")
35 set(code_string "// This is a generated file.\n\n"
36 "const char *PPSSPP_GIT_VERSION = \"${GIT_VERSION}\"\;\n\n"
37 "// If you don't want this file to update/recompile, change to 1.\n"
38 "#define PPSSPP_GIT_VERSION_NO_UPDATE 0\n")
40 if ("${GIT_VERSION_UPDATE}" EQUAL "1")
41 file(WRITE ${GIT_VERSION_FILE} ${code_string})