AnyPS5/core/libs/prx/libSceAgcDriver/trace_revision.cmake

20 lines
879 B
CMake

set(commit unknown)
set(dirty -1)
if(GIT)
execute_process(COMMAND "${GIT}" -C "${SOURCE}" rev-parse --short=12 HEAD
OUTPUT_VARIABLE head RESULT_VARIABLE failed OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
if(failed EQUAL 0 AND NOT head STREQUAL "")
set(commit ${head})
execute_process(COMMAND "${GIT}" -C "${SOURCE}" status --porcelain --untracked-files=no
OUTPUT_VARIABLE changes RESULT_VARIABLE failed ERROR_QUIET)
if(failed EQUAL 0 AND changes STREQUAL "")
set(dirty 0)
elseif(failed EQUAL 0)
set(dirty 1)
endif()
endif()
endif()
file(WRITE "${OUTPUT}.new" "#pragma once\n#define APS5_TRACE_COMMIT \"${commit}\"\n#define APS5_TRACE_DIRTY ${dirty}\n")
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${OUTPUT}.new" "${OUTPUT}")
file(REMOVE "${OUTPUT}.new")