diff --git a/CMakeLists.txt b/CMakeLists.txt index e54a4b80..9066cec2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,9 @@ cmake_minimum_required(VERSION 3.13) +set(FSFW_VERSION_IF_GIT_FAILS 4) +set(FSFW_SUBVERSION_IF_GIT_FAILS 0) +set(FSFW_REVISION_IF_GIT_FAILS 0) + # Add the cmake folder so the FindSphinx module is found list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ) list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake-modules") @@ -44,21 +48,27 @@ project(${LIB_FSFW_NAME}) add_library(${LIB_FSFW_NAME}) # Version handling -include(helpers) -determine_version_with_git() -set(FSFW_GIT_INFO ${GIT_INFO} CACHE STRING "Version information retrieved with git describe") -list(GET FSFW_GIT_INFO 1 FSFW_VERSION) -list(GET FSFW_GIT_INFO 2 FSFW_SUBVERSION) -list(GET FSFW_GIT_INFO 3 FSFW_REVISION) -list(GET FSFW_GIT_INFO 4 FSFW_VERSION_CST_GIT_SHA1) -if(NOT FSFW_VERSION) - set(FSFW_VERSION -1) -endif() -if(NOT FSFW_SUBVERSION) - set(FSFW_SUBVERSION -1) -endif() -if(NOT FSFW_REVISION) - set(FSFW_REVISION -1) +if(EXISTS .git) + include(helpers) + determine_version_with_git("--exclude" "docker_*") + set(FSFW_GIT_INFO ${GIT_INFO} CACHE STRING "Version information retrieved with git describe") + list(GET FSFW_GIT_INFO 1 FSFW_VERSION) + list(GET FSFW_GIT_INFO 2 FSFW_SUBVERSION) + list(GET FSFW_GIT_INFO 3 FSFW_REVISION) + list(GET FSFW_GIT_INFO 4 FSFW_VERSION_CST_GIT_SHA1) + if(NOT FSFW_VERSION) + set(FSFW_VERSION ${FSFW_VERSION_IF_GIT_FAILS}) + endif() + if(NOT FSFW_SUBVERSION) + set(FSFW_SUBVERSION ${FSFW_SUBVERSION_IF_GIT_FAILS}) + endif() + if(NOT FSFW_REVISION) + set(FSFW_REVISION ${FSFW_REVISION_IF_GIT_FAILS}) + endif() +else() + set(FSFW_VERSION ${FSFW_VERSION_IF_GIT_FAILS}) + set(FSFW_SUBVERSION ${FSFW_SUBVERSION_IF_GIT_FAILS}) + set(FSFW_REVISION ${FSFW_REVISION_IF_GIT_FAILS}) endif() if(FSFW_BUILD_UNITTESTS)