Allow getting available version information even when clone is shallow

pull/183/head
Nikolay Kasyanov 7 years ago
parent e24cb0fe5d
commit 7f429f26e1

@ -35,18 +35,14 @@ set(OPENMW_VERSION "${OPENMW_VERSION_MAJOR}.${OPENMW_VERSION_MINOR}.${OPENMW_VER
set(GIT_CHECKOUT FALSE)
if(EXISTS ${PROJECT_SOURCE_DIR}/.git)
if(NOT EXISTS ${PROJECT_SOURCE_DIR}/.git/shallow)
find_package(Git)
if(GIT_FOUND)
set(GIT_CHECKOUT TRUE)
else(GIT_FOUND)
message(WARNING "Git executable not found")
endif(GIT_FOUND)
else(NOT EXISTS ${PROJECT_SOURCE_DIR}/.git/shallow)
message(STATUS "Shallow Git clone detected, not attempting to retrieve version info")
endif(NOT EXISTS ${PROJECT_SOURCE_DIR}/.git/shallow)
endif(EXISTS ${PROJECT_SOURCE_DIR}/.git)
find_package(Git)
if(GIT_FOUND)
set(GIT_CHECKOUT TRUE)
else(GIT_FOUND)
message(WARNING "Git executable not found")
endif(GIT_FOUND)
endif(EXISTS ${PROJECT_SOURCE_DIR}/.git)
# Macros
include(OpenMWMacros)

@ -3,7 +3,8 @@ execute_process (
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
RESULT_VARIABLE EXITCODE1
OUTPUT_VARIABLE TAGHASH
OUTPUT_STRIP_TRAILING_WHITESPACE)
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET)
execute_process (
COMMAND ${GIT_EXECUTABLE} rev-parse HEAD
@ -12,13 +13,17 @@ execute_process (
OUTPUT_VARIABLE COMMITHASH
OUTPUT_STRIP_TRAILING_WHITESPACE)
string (COMPARE EQUAL "${EXITCODE1}:${EXITCODE2}" "0:0" SUCCESS)
if (SUCCESS)
string (COMPARE EQUAL "${EXITCODE1}:${EXITCODE2}" "0:0" FULL_SUCCESS)
string (COMPARE EQUAL "${EXITCODE2}" "0" COMMIT_SUCCESS)
if (FULL_SUCCESS)
set(OPENMW_VERSION_COMMITHASH "${COMMITHASH}")
set(OPENMW_VERSION_TAGHASH "${TAGHASH}")
message(STATUS "OpenMW version ${OPENMW_VERSION}")
else (SUCCESS)
elseif (COMMIT_SUCCESS)
set(OPENMW_VERSION_COMMITHASH "${COMMITHASH}")
message(STATUS "OpenMW version ${OPENMW_VERSION}")
else ()
message(WARNING "Failed to get valid version information from Git")
endif (SUCCESS)
endif ()
configure_file(${VERSION_IN_FILE} ${VERSION_FILE})

@ -23,8 +23,7 @@ std::string Version::describe()
{
std::string str = "OpenMW version " + mVersion;
std::string rev = mCommitHash;
std::string tag = mTagHash;
if (!rev.empty() && !tag.empty())
if (!rev.empty())
{
rev = rev.substr(0, 10);
str += "\nRevision: " + rev;

Loading…
Cancel
Save