diff --git a/CMakeLists.txt b/CMakeLists.txt index 49e73abaa..5d03e7a17 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -325,7 +325,6 @@ else() Source/main.cpp Packaging/windows/devilutionx.exe.manifest Packaging/windows/devilutionx.rc - Packaging/apple/AppIcon.icns Packaging/apple/LaunchScreen.storyboard) if(CMAKE_STRIP AND NOT DEVILUTIONX_DISABLE_STRIP) @@ -365,7 +364,6 @@ include(functions/set_relative_file_macro) set_relative_file_macro(${BIN_TARGET}) if(APPLE) - set_source_files_properties("./Packaging/apple/AppIcon.icns" PROPERTIES MACOSX_PACKAGE_LOCATION Resources) set(MACOSX_BUNDLE_GUI_IDENTIFIER com.diasurgical.devilutionx) set(MACOSX_BUNDLE_COPYRIGHT Unlicense) set(MACOSX_BUNDLE_BUNDLE_NAME devilutionx) @@ -382,7 +380,15 @@ if(APPLE) set(MACOSX_BUNDLE_REQUIRED_PLATFORM Carbon) set(CMAKE_OSX_DEPLOYMENT_TARGET "10.12.0") endif() - set_target_properties(${BIN_TARGET} PROPERTIES MACOSX_BUNDLE_ICON_FILE "AppIcon.icns") + if(DARWIN_MAJOR_VERSION VERSION_LESS 9) + # Finder on OSX Tiger can only handle icns files with up to 128x128 icons. + set(_icon_file AppIcon_128) + else() + set(_icon_file AppIcon) + endif() + target_sources(${BIN_TARGET} PRIVATE "Packaging/apple/${_icon_file}.icns") + set_source_files_properties("./Packaging/apple/${_icon_file}.icns" PROPERTIES MACOSX_PACKAGE_LOCATION Resources) + set_target_properties(${BIN_TARGET} PROPERTIES MACOSX_BUNDLE_ICON_FILE "${_icon_file}.icns") set_target_properties(${BIN_TARGET} PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/Packaging/apple/Info.plist") install (TARGETS ${BIN_TARGET} DESTINATION ./) diff --git a/Packaging/apple/AppIcon_128.icns b/Packaging/apple/AppIcon_128.icns new file mode 100644 index 000000000..76108cf0a Binary files /dev/null and b/Packaging/apple/AppIcon_128.icns differ