Git Commit Id를 문자열로 획득하는 방법
28 May 2020 | C++Git Commit Id 및 날짜 획득 방법
CMakeLists.txt 예제
CMakeLists.txt
파일에 다음 명령어를 추가하면 Git Commit Id
및 Commit Date
를 얻을 수 있습니다.
add_definitions
명령어를 이용해서 C++ 코드에 전달할 수 있습니다.
execute_process( COMMAND git log -1 --format=%h WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE GIT_COMMIT_HASH OUTPUT_STRIP_TRAILING_WHITESPACE ) execute_process( COMMAND git log -1 --format=%cd WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE GIT_COMMIT_DATE OUTPUT_STRIP_TRAILING_WHITESPACE ) add_definitions("-DVERSION_HASH=\"${GIT_COMMIT_HASH}\"") add_definitions("-DCOMMIT_DATE=\"${GIT_COMMIT_DATE}\"")
C++ 예제
실제 C++ 코드에서 사용하는 예제는 다음과 같습니다.
#ifndef VERSION_HASH #define VERSION_HASH "0000000" #endif #ifndef COMMIT_DATE #define COMMIT_DATE "" #endif string Prefs::GET_VERSION() { return VERSION_HASH; } string Prefs::GET_COMMIT_DATE() { return COMMIT_DATE; }