From 6b01ab8136c2960f877093e218095589d2d6238d Mon Sep 17 00:00:00 2001 From: Hubert Jarosz Date: Tue, 9 Aug 2016 23:04:19 +0200 Subject: [PATCH] add CMake funcion for determining current git rev /GetGitHash.cmake has function get_git_hash that gives current git rev hash or "NO_GIT_COMMIT_HASH_DEFINED" if we are building out of git repo. It's used in /renderdoc/CMakeLists.txt --- GetGitHash.cmake | 13 +++++++++++++ renderdoc/CMakeLists.txt | 5 +++-- 2 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 GetGitHash.cmake diff --git a/GetGitHash.cmake b/GetGitHash.cmake new file mode 100644 index 000000000..05793fb68 --- /dev/null +++ b/GetGitHash.cmake @@ -0,0 +1,13 @@ +function(get_git_hash _git_hash) + if(EXISTS "${CMAKE_SOURCE_DIR}/.git") + execute_process( + COMMAND git rev-parse HEAD + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_HASH + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + else() + set(GIT_HASH "NO_GIT_COMMIT_HASH_DEFINED") + endif() + set(${_git_hash} "${GIT_HASH}" PARENT_SCOPE) +endfunction(get_git_hash) diff --git a/renderdoc/CMakeLists.txt b/renderdoc/CMakeLists.txt index 725da262e..17bb1dfe8 100644 --- a/renderdoc/CMakeLists.txt +++ b/renderdoc/CMakeLists.txt @@ -1,3 +1,5 @@ +include("${CMAKE_SOURCE_DIR}/GetGitHash.cmake") + set(CMAKE_POSITION_INDEPENDENT_CODE ON) set(RDOC_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) @@ -8,8 +10,7 @@ set(RDOC_INCLUDES set(RDOC_LIBRARIES) # get git commit hash -execute_process(COMMAND sh ${CMAKE_SOURCE_DIR}/calc_hash.sh - OUTPUT_VARIABLE GIT_COMMIT_HASH) +get_git_hash(GIT_COMMIT_HASH) string(STRIP ${GIT_COMMIT_HASH} GIT_COMMIT_HASH) list(APPEND RDOC_DEFINITIONS PRIVATE -DGIT_COMMIT_HASH="${GIT_COMMIT_HASH}")