@@ -4,7 +4,35 @@ set(CMAKE_CXX_STANDARD 20)
44set (CMAKE_CXX_STANDARD_REQUIRED ON )
55set (CMAKE_EXPORT_COMPILE_COMMANDS ON )
66
7- project (wwhd_rando VERSION 0.1 LANGUAGES C CXX ) # not sure how to handle this version variable, putting it here for the mac bundle
7+ # Versioning
8+ if (DEFINED RELEASE_TAG)
9+ # Use the new tag we're creating for this release (passed in workflow)
10+ set (GIT_TAG "${RELEASE_TAG} " )
11+
12+ # Also use the seed key to change item placement when a spoiler log isn't generated
13+ set (SEED_KEY "$ENV{SEED_KEY} " )
14+ else ()
15+ # Get previous tag and commit hash
16+ find_package (Git REQUIRED )
17+ execute_process (COMMAND "${GIT_EXECUTABLE} " describe --tags --always --dirty --broken
18+ WORKING_DIRECTORY "${CMAKE_SOURCE_DIR} "
19+ OUTPUT_VARIABLE GIT_TAG
20+ ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE
21+ )
22+ endif ()
23+ string (REGEX MATCH "^([0-9]+)\\ .([0-9]+)\\ .([0-9]+)(-([0-9]+))?(-g([0-9a-f]+))?(-([a-z]+))?" VERSION_MATCH "${GIT_TAG} " )
24+ if (VERSION_MATCH)
25+ set (PROJECT_VERSION "${CMAKE_MATCH_1} .${CMAKE_MATCH_2} .${CMAKE_MATCH_3} " )
26+ if (${CMAKE_MATCH_5} )
27+ string (APPEND PROJECT_VERSION ".${CMAKE_MATCH_5} " )
28+ endif ()
29+ else ()
30+ set (PROJECT_VERSION "0.0.0.0" )
31+ endif ()
32+ configure_file (version .hpp.in version .hpp @ONLY )
33+ configure_file (keys/keys.hpp.in keys/keys.hpp @ONLY )
34+
35+ project (wwhd_rando VERSION ${PROJECT_VERSION} LANGUAGES C CXX )
836add_compile_options ("$<$<CXX_COMPILER_ID :MSVC >:/utf -8>" )
937
1038if (DEFINED DEVKITPRO)
@@ -45,24 +73,6 @@ if(LOGIC_TESTS)
4573 endif ()
4674endif ()
4775
48- # Versioning
49- if (DEFINED RELEASE_TAG)
50- # Use the new tag we're creating for this release (passed in workflow)
51- set (GIT_TAG "${RELEASE_TAG} " )
52-
53- # Also use the seed key to change item placement when a spoiler log isn't generated
54- set (SEED_KEY "$ENV{SEED_KEY} " )
55- else ()
56- # Get previous tag and commit hash
57- find_package (Git REQUIRED )
58- execute_process (COMMAND "${GIT_EXECUTABLE} " describe --tags --always --dirty --broken
59- WORKING_DIRECTORY "${CMAKE_SOURCE_DIR} "
60- OUTPUT_VARIABLE GIT_TAG
61- ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE
62- )
63- endif ()
64- configure_file (version .hpp.in version .hpp @ONLY )
65- configure_file (keys/keys.hpp.in keys/keys.hpp @ONLY )
6676
6777# Path strings for logging
6878string (LENGTH "${CMAKE_SOURCE_DIR} /" SOURCE_PATH_SIZE)
0 commit comments