diff --git a/cmake-modules/AutoVersion.cmake b/cmake-modules/AutoVersion.cmake index d55deb6..4fb71a3 100644 --- a/cmake-modules/AutoVersion.cmake +++ b/cmake-modules/AutoVersion.cmake @@ -1,19 +1,15 @@ find_package(Git) -if (GIT_FOUND) - if (EXISTS ../.git) - execute_process( - COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD - OUTPUT_VARIABLE GIT_REVISION - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - else() - message(STATUS "Git not found!") - set(GIT_REVISION "e00000") - endif() -endif() +set(GIT_REVISION "e00000") -message(STATUS "Current Git commit hash: " ${GIT_REVISION}) +if (GIT_FOUND) + execute_process( + COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD + OUTPUT_VARIABLE GIT_REVISION + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + message(STATUS "Current Git commit hash: " ${GIT_REVISION}) +endif() file(READ ${VERSION_FILE} VERSION_TEXT) @@ -28,19 +24,21 @@ set(VAR_TWEAK ${CMAKE_MATCH_4}) message(STATUS "MATCH: ${VAR_MAJOR}.${VAR_MINOR}.${VAR_PATCH}-b${VAR_TWEAK}") -if (${GIT_REVISION} STREQUAL ${VAR_PATCH}) - math(EXPR VAR_TWEAK "${VAR_TWEAK}+1") -else() - math(EXPR VAR_TWEAK "1") +if (${GIT_REVISION}) + if (${GIT_REVISION} STREQUAL ${VAR_PATCH}) + math(EXPR VAR_TWEAK "${VAR_TWEAK}+1") + else() + math(EXPR VAR_TWEAK "1") + endif() + + set(VAR_PATCH ${GIT_REVISION}) + + message(STATUS "AUTO_VERSION: ${VAR_MAJOR}.${VAR_MINOR}.${VAR_PATCH}-b${VAR_TWEAK}") + + string(REGEX REPLACE + "\"([0-9]+)\\.([0-9]+)\\.([0-9a-zA-Z]+)\\-b([0-9]+)\"" + "\"${VAR_MAJOR}.${VAR_MINOR}.${VAR_PATCH}-b${VAR_TWEAK}\"" + VERSION_TEXT "${VERSION_TEXT}") + + file(WRITE ${VERSION_FILE} "${VERSION_TEXT}") endif() - -set(VAR_PATCH ${GIT_REVISION}) - -message(STATUS "AUTO_VERSION: ${VAR_MAJOR}.${VAR_MINOR}.${VAR_PATCH}-b${VAR_TWEAK}") - -string(REGEX REPLACE - "\"([0-9]+)\\.([0-9]+)\\.([0-9a-zA-Z]+)\\-b([0-9]+)\"" - "\"${VAR_MAJOR}.${VAR_MINOR}.${VAR_PATCH}-b${VAR_TWEAK}\"" - VERSION_TEXT "${VERSION_TEXT}") - -file(WRITE ${VERSION_FILE} "${VERSION_TEXT}")