fixes to scm_rev generation to make it conistent with windows build

This commit is contained in:
bunnei 2014-04-23 19:13:00 -07:00
parent 121960a2eb
commit 80a040ac77
4 changed files with 34 additions and 5 deletions

View File

@ -34,6 +34,7 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/externals/cmake-modul
include(GetGitRevisionDescription)
get_git_head_revision(GIT_REF_SPEC GIT_REV)
git_describe(GIT_DESC --always --long --dirty)
git_branch_name(GIT_BRANCH)
# external includes
include_directories(${OPENGL_INCLUDE_DIR})

View File

@ -80,6 +80,34 @@ function(get_git_head_revision _refspecvar _hashvar)
set(${_hashvar} "${HEAD_HASH}" PARENT_SCOPE)
endfunction()
function(git_branch_name _var)
if(NOT GIT_FOUND)
find_package(Git QUIET)
endif()
if(NOT GIT_FOUND)
set(${_var} "GIT-NOTFOUND" PARENT_SCOPE)
return()
endif()
execute_process(COMMAND
"${GIT_EXECUTABLE}"
rev-parse --abbrev-ref HEAD
WORKING_DIRECTORY
"${CMAKE_SOURCE_DIR}"
RESULT_VARIABLE
res
OUTPUT_VARIABLE
out
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(NOT res EQUAL 0)
set(out "${out}-${res}-NOTFOUND")
endif()
set(${_var} "${out}" PARENT_SCOPE)
endfunction()
function(git_describe _var)
if(NOT GIT_FOUND)
find_package(Git QUIET)

View File

@ -1,4 +1,4 @@
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/scm_rev.cpp.in" "${CMAKE_CURRENT_BINARY_DIR}/scm_rev.cpp" @ONLY)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/scm_rev.cpp.in" "${CMAKE_CURRENT_SOURCE_DIR}/scm_rev.cpp" @ONLY)
set(SRCS break_points.cpp
console_listener.cpp
@ -13,10 +13,10 @@ set(SRCS break_points.cpp
misc.cpp
msg_handler.cpp
string_util.cpp
scm_rev.cpp
symbols.cpp
thread.cpp
timer.cpp
utf8.cpp
${CMAKE_CURRENT_BINARY_DIR}/scm_rev.cpp)
utf8.cpp)
add_library(common STATIC ${SRCS})

View File

@ -5,13 +5,13 @@
#include "common/scm_rev.h"
#define GIT_REV "@GIT_REV@"
#define GIT_REF_SPEC "@GIT_REF_SPEC@"
#define GIT_BRANCH "@GIT_BRANCH@"
#define GIT_DESC "@GIT_DESC@"
namespace Common {
const char g_scm_rev[] = GIT_REV;
const char g_scm_ref_spec[] = GIT_REF_SPEC;
const char g_scm_ref_spec[] = GIT_BRANCH;
const char g_scm_desc[] = GIT_DESC;
} // namespace