Set branch/sha1 defines only for specific files

This commit is contained in:
Stefan Winkler 2017-10-16 21:22:23 +02:00 committed by Michał Janiszewski
parent 63f7820b25
commit 516c5737be
2 changed files with 12 additions and 16 deletions

View File

@ -42,17 +42,6 @@ execute_process(
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
)
add_definitions(-DOPENRCT2_BRANCH="${OPENRCT2_BRANCH}")
# Define commit hash
execute_process(
COMMAND git rev-parse HEAD
WORKING_DIRECTORY ${ROOT_DIR}
OUTPUT_VARIABLE OPENRCT2_COMMIT_SHA1
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
)
add_definitions(-DOPENRCT2_COMMIT_SHA1="${OPENRCT2_COMMIT_SHA1}")
# Define short commit hash
execute_process(
@ -63,11 +52,6 @@ execute_process(
ERROR_QUIET
)
# Tagged builds are not meant to display commit info
if (NOT OPENRCT2_COMMIT_SHA1_SHORT STREQUAL "HEAD")
add_definitions(-DOPENRCT2_COMMIT_SHA1_SHORT="${OPENRCT2_COMMIT_SHA1_SHORT}")
endif()
function (ADD_CHECK_C_COMPILER_FLAG _CFLAGS _CACHE_VAR _FLAG)
CHECK_C_COMPILER_FLAG("${_FLAG}" "${_CACHE_VAR}")
if (${_CACHE_VAR})

View File

@ -280,3 +280,15 @@ if (CXX_WARN_SUGGEST_FINAL_METHODS)
# Disable -Wsuggest-final-methods via pragmas where due.
add_definitions(-D__WARN_SUGGEST_FINAL_METHODS__)
endif ()
# To avoid unnecessary rebuilds set the current branch and
# short sha1 only for the two files that use these
# definitions: Version.cpp and Crash/Platform.cpp
set_property(SOURCE ${CMAKE_CURRENT_LIST_DIR}/Version.cpp
${CMAKE_CURRENT_LIST_DIR}/Crash/Platform.cpp PROPERTY
COMPILE_DEFINITIONS OPENRCT2_BRANCH="${OPENRCT2_BRANCH}")
if (NOT OPENRCT2_COMMIT_SHA1_SHORT STREQUAL "HEAD")
set_property(SOURCE ${CMAKE_CURRENT_LIST_DIR}/Version.cpp
${CMAKE_CURRENT_LIST_DIR}/Crash/Platform.cpp PROPERTY
COMPILE_DEFINITIONS OPENRCT2_COMMIT_SHA1_SHORT="${OPENRCT2_COMMIT_SHA1_SHORT}")
endif()