Internal
Public Access
macOS: build a proper .app bundle with an embedded icon
Same root cause as the earlier Windows exe icon fix: add_executable() never set MACOSX_BUNDLE, so on macOS this produced a bare Mach-O binary rather than a proper .app bundle -- and without a bundle there's no Info.plist/.icns mechanism for Finder to show a custom icon at all. Added packaging/macos/orbithub.icns, rendered at up to 1024px directly from the same createOrbitHubAppIcon() logic used at runtime (via a one-off export tool, not committed) so it matches what the app actually looks like. CMake's MACOSX_BUNDLE keyword and MACOSX_BUNDLE_ICON_FILE wire it into an auto-generated Info.plist; both keywords are no-ops on other platforms. The profile database uses QStandardPaths::AppDataLocation, not the executable's own path, so this doesn't affect where existing profiles are found. Build output on macOS changes from build/orbithub to build/orbithub.app (launch with `open build/orbithub.app`); docs/BUILDING.md updated to match. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+13
-1
@@ -115,7 +115,19 @@ if(WIN32)
|
||||
list(APPEND ORBITHUB_SOURCES packaging/windows/orbithub.rc)
|
||||
endif()
|
||||
|
||||
add_executable(orbithub WIN32 ${ORBITHUB_SOURCES})
|
||||
if(APPLE)
|
||||
list(APPEND ORBITHUB_SOURCES packaging/macos/orbithub.icns)
|
||||
set_source_files_properties(packaging/macos/orbithub.icns PROPERTIES
|
||||
MACOSX_PACKAGE_LOCATION "Resources"
|
||||
)
|
||||
set(MACOSX_BUNDLE_ICON_FILE orbithub.icns)
|
||||
set(MACOSX_BUNDLE_BUNDLE_NAME "OrbitHub")
|
||||
set(MACOSX_BUNDLE_GUI_IDENTIFIER "io.orbithub.OrbitHub")
|
||||
set(MACOSX_BUNDLE_BUNDLE_VERSION "${PROJECT_VERSION}")
|
||||
set(MACOSX_BUNDLE_SHORT_VERSION_STRING "${PROJECT_VERSION}")
|
||||
endif()
|
||||
|
||||
add_executable(orbithub WIN32 MACOSX_BUNDLE ${ORBITHUB_SOURCES})
|
||||
|
||||
target_link_libraries(orbithub PRIVATE Qt6::Widgets Qt6::Sql)
|
||||
target_link_libraries(orbithub PRIVATE KodoTerm::KodoTerm)
|
||||
|
||||
Reference in New Issue
Block a user