mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-06-03 18:37:06 -04:00
Fix version string in case of incomplete git history or other errors (#459)
Signed-off-by: Thomas Rohloff <v10lator@myway.de> Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
This commit is contained in:
+23
-7
@@ -17,14 +17,28 @@ execute_process(
|
||||
OUTPUT_VARIABLE PROJECT_VERSION
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
string(REPLACE "-" ";" PROJECT_VERSION_LIST "${PROJECT_VERSION}")
|
||||
list(GET PROJECT_VERSION_LIST 0 PROJECT_VERSION_PATCH)
|
||||
string(REPLACE "." ";" PROJECT_VERSION_LIST "${PROJECT_VERSION_PATCH}")
|
||||
list(LENGTH PROJECT_VERSION_LIST PROJECT_VERSION_LIST_LENGTH)
|
||||
if (${PROJECT_VERSION_LIST_LENGTH} LESS 3)
|
||||
set(PROJECT_VERSION_PATCH 0)
|
||||
if (DEFINED PROJECT_VERSION AND NOT "${PROJECT_VERSION}" STREQUAL "")
|
||||
string(REPLACE "-" ";" PROJECT_VERSION_LIST "${PROJECT_VERSION}")
|
||||
list(GET PROJECT_VERSION_LIST 0 PROJECT_VERSION_PATCH)
|
||||
string(REPLACE "." ";" PROJECT_VERSION_LIST "${PROJECT_VERSION_PATCH}")
|
||||
list(LENGTH PROJECT_VERSION_LIST PROJECT_VERSION_LIST_LENGTH)
|
||||
if (${PROJECT_VERSION_LIST_LENGTH} LESS 3)
|
||||
set(PROJECT_VERSION_PATCH 0)
|
||||
else()
|
||||
list(GET PROJECT_VERSION_LIST 2 PROJECT_VERSION_PATCH)
|
||||
endif()
|
||||
else()
|
||||
list(GET PROJECT_VERSION_LIST 2 PROJECT_VERSION_PATCH)
|
||||
set(PROJECT_VERSION "Unknown")
|
||||
execute_process(
|
||||
COMMAND git log --pretty=format:%h -1
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE PROJECT_VERSION_PATCH
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
if (DEFINED PROJECT_VERSION_PATCH AND NOT "${PROJECT_VERSION_PATCH}" STREQUAL "")
|
||||
set(PROJECT_VERSION "${PROJECT_VERSION}-${PROJECT_VERSION_PATCH}")
|
||||
endif()
|
||||
set(PROJECT_VERSION_PATCH 0)
|
||||
endif()
|
||||
|
||||
# Get the patch version number from the project version
|
||||
@@ -36,6 +50,8 @@ list(GET NATO_PHONETIC_ALPHABET ${PATCH_INDEX} PROJECT_PATCH_WORD)
|
||||
set(PROJECT_BUILD_NAME "Alfredo ${PROJECT_PATCH_WORD}" CACHE STRING "" FORCE)
|
||||
set(PROJECT_TEAM "github.com/harbourmasters" CACHE STRING "" FORCE)
|
||||
|
||||
message("Spaghetti Kart version: ${PROJECT_VERSION} Alfredo ${PROJECT_PATCH_WORD}")
|
||||
|
||||
if(APPLE)
|
||||
enable_language(OBJCXX)
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user