Files
SpaghettiKart/cmake/GetVersion.cmake
T
coco875 4c24ae2bc2 Refactor cmake (#721)
* some start of refactor

* Update SetFlags.cmake

* Update SetCmakeVar.cmake

* Update SetFlags.cmake

* Fix error int-convertion

* more refactor

* clean up include and source file

* fix link of lib

* fix a warning

* fix include in src/actors

* fix include in src/debug

* fix include in src/ending

* fix include in src/engine/actors

* fix include in src/engine/cameras

* fix include in src/engine/editor

* fix include in src/engine/objects

* fix include in src/engine/tracks

* fix include in src/port/ui

* fix include in src/racing

* fix include in src/engine/vehicles

* fix include in subfolder of src/engine

* fix include in src/engine

* fix include in src/enhancements

* fix include in src

* fix switch

* invert common and findlib

* Update SetFlags.cmake

* clean up some workflow

* some splification

* Update build.sh

* Update Game.h

* add header back

* Delete test_check.cmake

* continue

* Update common.cmake
2026-07-22 18:02:58 -06:00

49 lines
1.8 KiB
CMake

execute_process(
COMMAND git -c safe.directory=${CMAKE_SOURCE_DIR} describe --tags
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE PROJECT_VERSION
RESULT_VARIABLE GIT_DESCRIBE_RESULT
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE
)
if(GIT_DESCRIBE_RESULT EQUAL 0 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()
set(PROJECT_VERSION "Unknown")
execute_process(
COMMAND git -c safe.directory=${CMAKE_SOURCE_DIR} log --pretty=format:%h -1
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE PROJECT_VERSION_PATCH
ERROR_QUIET
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()
set(NATO_PHONETIC_ALPHABET
"Alfa" "Bravo" "Charlie" "Delta" "Echo" "Foxtrot" "Golf" "Hotel"
"India" "Juliett" "Kilo" "Lima" "Mike" "November" "Oscar" "Papa"
"Quebec" "Romeo" "Sierra" "Tango" "Uniform" "Victor" "Whiskey"
"Xray" "Yankee" "Zulu")
list(LENGTH NATO_PHONETIC_ALPHABET NATO_WORD_COUNT)
math(EXPR PATCH_INDEX "${PROJECT_VERSION_PATCH} % ${NATO_WORD_COUNT}")
list(GET NATO_PHONETIC_ALPHABET ${PATCH_INDEX} PROJECT_PATCH_WORD)
set(PROJECT_BUILD_NAME
"Bolognese ${PROJECT_PATCH_WORD}"
CACHE STRING "" FORCE)
set(PROJECT_TEAM "SpaghettiKart Team - HarbourMasters")
message("Spaghetti Kart version: ${PROJECT_VERSION} ${PROJECT_PATCH_WORD}")