diff --git a/CMakeLists.txt b/CMakeLists.txt
index d5038253..21188e99 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -521,7 +521,7 @@ endif()
if (ISLE_BUILD_CONFIG)
find_package(Qt6 REQUIRED COMPONENTS Core Widgets)
qt_standard_project_setup()
- qt_add_executable(config WIN32
+ qt_add_executable(config WIN32 MACOSX_BUNDLE
LEGO1/mxdirectx/mxdirectxinfo.cpp
LEGO1/mxdirectx/legodxinfo.cpp
CONFIG/config.cpp
@@ -643,7 +643,8 @@ elseif(APPLE)
set(MACOSX_BUNDLE_GUI_IDENTIFIER com.github.isledecomp.isle-portable)
set(MACOSX_BUNDLE_COPYRIGHT LGPLv3)
set(MACOSX_BUNDLE_BUNDLE_NAME isle)
- set(MACOSX_BUNDLE_DISPLAY_NAME LEGO Island)
+ set(MACOSX_CONFIG_BUNDLE_DISPLAY_NAME Configure LEGO Island)
+ set(MACOSX_ISLE_BUNDLE_DISPLAY_NAME LEGO Island)
set(MACOSX_BUNDLE_INFO_STRING ${PROJECT_VERSION})
set(MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION})
set(MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION})
@@ -654,10 +655,18 @@ elseif(APPLE)
set(_icon_file AppIcon)
target_sources(isle PRIVATE "ISLE/apple/${_icon_file}.icns")
+ target_sources(config PRIVATE "CONFIG/apple/${_icon_file}.icns")
+
set_source_files_properties("./ISLE/apple/${_icon_file}.icns" PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
+ set_source_files_properties("./CONFIG/apple/${_icon_file}.icns" PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
+
set_target_properties(isle PROPERTIES MACOSX_BUNDLE_ICON_FILE "${_icon_file}.icns")
set_target_properties(isle PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/ISLE/apple/Info.plist")
+ set_target_properties(config PROPERTIES MACOSX_BUNDLE_ICON_FILE "${_icon_file}.icns")
+ set_target_properties(config PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/CONFIG/apple/Info.plist")
+
+ install(TARGETS config DESTINATION ./)
install(TARGETS isle DESTINATION ./)
install(CODE "
include(BundleUtilities)
diff --git a/CONFIG/apple/AppIcon.icns b/CONFIG/apple/AppIcon.icns
new file mode 100644
index 00000000..5b67c48a
Binary files /dev/null and b/CONFIG/apple/AppIcon.icns differ
diff --git a/CONFIG/apple/Info.plist b/CONFIG/apple/Info.plist
new file mode 100644
index 00000000..ad93c287
--- /dev/null
+++ b/CONFIG/apple/Info.plist
@@ -0,0 +1,80 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ English
+ CFBundleExecutable
+ ${MACOSX_BUNDLE_EXECUTABLE_NAME}
+ CFBundleGetInfoString
+ ${MACOSX_BUNDLE_INFO_STRING}
+ CFBundleIconFile
+ ${MACOSX_BUNDLE_ICON_FILE}
+ CFBundleIdentifier
+ ${MACOSX_BUNDLE_GUI_IDENTIFIER}
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleLongVersionString
+ ${MACOSX_BUNDLE_LONG_VERSION_STRING}
+ CFBundleName
+ ${MACOSX_BUNDLE_BUNDLE_NAME}
+ CFBundleDisplayName
+ ${MACOSX_CONFIG_BUNDLE_DISPLAY_NAME}
+ CFBundlePackageType
+ APPL
+ CFBundleShortVersionString
+ ${MACOSX_BUNDLE_SHORT_VERSION_STRING}
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ ${MACOSX_BUNDLE_BUNDLE_VERSION}
+ UILaunchStoryboardName
+ LaunchScreen
+ NSHighResolutionCapable
+
+ CSResourcesFileMapped
+
+ LSRequires${MACOSX_BUNDLE_REQUIRED_PLATFORM}
+
+ NSHumanReadableCopyright
+ ${MACOSX_BUNDLE_COPYRIGHT}
+ SDL_FILESYSTEM_BASE_DIR_TYPE
+ resource
+ NSSupportsAutomaticGraphicsSwitching
+
+ UIApplicationSupportsIndirectInputEvents
+
+ LSSupportsOpeningDocumentsInPlace
+
+ UIFileSharingEnabled
+
+ CADisableMinimumFrameDurationOnPhone
+
+ UIDeviceFamily
+
+ 1
+ 2
+
+ UIRequiresFullScreen
+
+ UIStatusBarHidden
+
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UISupportedInterfaceOrientations~ipad
+
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UIApplicationSceneManifest
+
+ UIApplicationSupportsMultipleScenes
+
+
+ CFBundleAllowMixedLocalizations
+
+
+
diff --git a/ISLE/apple/Info.plist b/ISLE/apple/Info.plist
index ccc505ea..a27314f6 100644
--- a/ISLE/apple/Info.plist
+++ b/ISLE/apple/Info.plist
@@ -19,7 +19,7 @@
CFBundleName
${MACOSX_BUNDLE_BUNDLE_NAME}
CFBundleDisplayName
- ${MACOSX_BUNDLE_DISPLAY_NAME}
+ ${MACOSX_ISLE_BUNDLE_DISPLAY_NAME}
CFBundlePackageType
APPL
CFBundleShortVersionString