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