diff --git a/CMakeLists.txt b/CMakeLists.txt index be734a8ca..8b4e9ad4b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) diff --git a/cmake/GitVersion.cmake b/cmake/GitVersion.cmake index 0679e406c..32abbbfbf 100644 --- a/cmake/GitVersion.cmake +++ b/cmake/GitVersion.cmake @@ -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}) diff --git a/components/version/version.cpp b/components/version/version.cpp index c87943f9e..fecbdcb3f 100644 --- a/components/version/version.cpp +++ b/components/version/version.cpp @@ -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;