Create app bundle for macOS

This commit is contained in:
Konstantinos Sideris 2017-08-13 19:17:04 +03:00
parent 9189782d3b
commit 9bfd51ceed
6 changed files with 63 additions and 20 deletions

2
.gitignore vendored
View file

@ -75,3 +75,5 @@ Temporary Items
# Nix
result
*.dmg
dist/MacOS/nheko.app/Contents/MacOS/nheko

View file

@ -1,13 +1,18 @@
APP_NAME = nheko
MAC_DIST_DIR = dist/MacOS
APP_TEMPLATE = $(MAC_DIST_DIR)/Nheko.app
SRC := $(shell find include src -type f -type f \( -iname "*.cc" -o -iname "*.h" \))
# Linux specific helpers
debug:
@cmake -DBUILD_TESTS=OFF -H. -GNinja -Bbuild -DCMAKE_BUILD_TYPE=Debug
@cmake --build build
release-debug:
@cmake -DBUILD_TESTS=OFF -H. -GNinja -Bbuild -DCMAKE_BUILD_TYPE=RelWithDebInfo
@cmake -DBUILD_TESTS=OFF -H. -Bbuild -DCMAKE_BUILD_TYPE=RelWithDebInfo
@cmake --build build
test:
@ -15,24 +20,19 @@ test:
@cmake --build build
@cd build && GTEST_COLOR=1 ctest --verbose
# MacOS specific helpers
mdebug:
@cmake -DBUILD_TESTS=OFF \
-H. \
-GNinja \
-Bbuild \
-DCMAKE_PREFIX_PATH=/usr/local/opt/qt5 \
-DCMAKE_BUILD_TYPE=Debug
@cmake --build build
app: release-debug $(APP_TEMPLATE)
@cp -fp ./build/$(APP_NAME) $(APP_TEMPLATE)/Contents/MacOS
@echo "Created '$(APP_NAME).app' in '$(APP_TEMPLATE)'"
mrelease:
@cmake -DBUILD_TESTS=OFF \
-H. \
-GNinja \
-Bbuild \
-DCMAKE_PREFIX_PATH=/usr/local/opt/qt5 \
-DCMAKE_BUILD_TYPE=RelWithDebInfo
@cmake --build build
app-install: app
cp -rf $(APP_TEMPLATE) /Applications/Nheko.app
dmg: app
hdiutil create $(MAC_DIST_DIR)/Nheko.dmg \
-volname "$(APP_NAME)" \
-fs HFS+ \
-srcfolder $(MAC_DIST_DIR) \
-ov -format UDZO
run:
@./build/nheko
@ -44,4 +44,4 @@ lint:
clean:
rm -rf build
.PHONY: build
.PHONY: build app dmg

View file

@ -92,6 +92,14 @@ make -C build
The `nheko` binary will be located in the `build` directory.
##### MacOS
You can create an app bundle with `make app`. The output will be located at
`dist/MacOS/Nheko.app` which you can be copied to `/Applications/Nheko.app`.
You can also create a disk image with `make dmg`. The output will be located at
`dist/MacOS/Nheko.dmg`
##### Nix
Download the repo as mentioned above and run

View file

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDisplayName</key>
<string>Nheko</string>
<key>CFBundleExecutable</key>
<string>nheko</string>
<key>CFBundleIdentifier</key>
<string>nheko</string>
<key>CFBundleName</key>
<string>Nheko</string>
<key>CFBundleIconFile</key>
<string>nheko.icns</string>
<key>CFBundleShortVersionString</key>
<string>0.1.0</string>
<key>CFBundleVersion</key>
<string>0.1.0</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>NSHighResolutionCapable</key>
<true />
<key>NSMainNibFile</key>
<string></string>
<key>NSSupportsAutomaticGraphicsSwitching</key>
<true />
</dict>
</plist>

View file

Binary file not shown.