@@ -4,15 +4,41 @@ 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)
1139 add_compile_definitions (DEVKITPRO )
1240 add_compile_options (-Ofast -mcpu=750 -meabi -mhard-float -ffunction-sections -flto -Wall )
1341 add_link_options (-flto -fno-fat-lto-objects )
14- elseif (APPLE )
15- add_compile_options (-fexperimental-library )
1642endif ()
1743
1844if (ENABLE_DEBUG)
@@ -45,24 +71,6 @@ if(LOGIC_TESTS)
4571 endif ()
4672endif ()
4773
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 )
6674
6775# Path strings for logging
6876string (LENGTH "${CMAKE_SOURCE_DIR} /" SOURCE_PATH_SIZE)
@@ -99,14 +107,6 @@ else()
99107 add_executable (wwhd_rando main.cpp )
100108endif ()
101109
102- if (GET_THREADS)
103- find_package (Threads REQUIRED )
104-
105- if (CMAKE_USE_PTHREADS_INIT)
106- target_link_libraries (wwhd_rando PRIVATE Threads::Threads )
107- endif ()
108- endif ()
109-
110110target_sources (wwhd_rando PRIVATE "randomizer.cpp" "options.cpp" "tweaks.cpp" "text_replacements.cpp" )
111111add_subdirectory ("libs" )
112112add_subdirectory ("utility" )
@@ -140,4 +140,7 @@ if(DEFINED DEVKITPRO)
140140 #TVSPLASH "${CMAKE_SOURCE_DIR}/platform/Splash.png"
141141 #DRCSPLASH "${CMAKE_SOURCE_DIR}/platform/Splash.png"
142142 )
143+ else ()
144+ find_package (Threads REQUIRED )
145+ target_link_libraries (wwhd_rando PRIVATE Threads::Threads )
143146endif ()
0 commit comments