Skip to content

Commit 47033e5

Browse files
committed
Mac Bundle Improvements
- Try to parse version from git tag and put it into CMake's project version - Tidy up some other bundle properties
1 parent d47167b commit 47033e5

2 files changed

Lines changed: 33 additions & 21 deletions

File tree

CMakeLists.txt

Lines changed: 29 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,35 @@ set(CMAKE_CXX_STANDARD 20)
44
set(CMAKE_CXX_STANDARD_REQUIRED ON)
55
set(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)
836
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
937

1038
if(DEFINED DEVKITPRO)
@@ -45,24 +73,6 @@ if(LOGIC_TESTS)
4573
endif()
4674
endif()
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
6878
string(LENGTH "${CMAKE_SOURCE_DIR}/" SOURCE_PATH_SIZE)

gui/desktop/CMakeLists.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,11 @@ target_sources(wwhd_rando PRIVATE mainwindow.cpp mainwindow.ui player_customizat
4040
target_link_libraries(wwhd_rando PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
4141

4242
set_target_properties(wwhd_rando PROPERTIES
43-
MACOSX_BUNDLE_wwhd_rando_IDENTIFIER my.example.com
43+
MACOSX_BUNDLE_BUNDLE_NAME "WWHD Randomizer" # 15 character limit
44+
MACOSX_BUNDLE_GUI_IDENTIFIER "com.github.superdude88.twwhd-randomizer"
45+
MACOSX_BUNDLE_COPYRIGHT "Copyright (c) 2024 TWWHDR Contributors"
4446
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
45-
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
47+
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
4648
MACOSX_BUNDLE TRUE
4749
WIN32_EXECUTABLE TRUE
4850
)

0 commit comments

Comments
 (0)