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:
+3
-2
@@ -35,7 +35,7 @@ cmake -S . -B build -G Ninja \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_PREFIX_PATH="$(brew --prefix qt@6);$(brew --prefix openssl@3)"
|
||||
cmake --build build
|
||||
./build/orbithub
|
||||
open build/orbithub.app
|
||||
```
|
||||
|
||||
## Windows 11 (PowerShell + MSVC + vcpkg)
|
||||
@@ -82,7 +82,8 @@ If you already have `Qt 6` from the Qt installer and do not want vcpkg Qt, you c
|
||||
- OrbitHub builds vendored `KodoTerm`, `libvterm`, and `FreeRDP` from `third_party/`.
|
||||
- If Qt is installed in a custom location, pass `-DCMAKE_PREFIX_PATH=/path/to/Qt/6.x.x/<toolchain>` to CMake.
|
||||
- Build output executable:
|
||||
- Linux/macOS: `build/orbithub`
|
||||
- Linux: `build/orbithub`
|
||||
- macOS: `build/orbithub.app` (a proper app bundle, launch with `open build/orbithub.app`)
|
||||
- Windows: `build\\orbithub.exe`
|
||||
|
||||
## Linux Packaging
|
||||
|
||||
Reference in New Issue
Block a user