mirror of
https://github.com/Nheko-Reborn/nheko.git
synced 2024-10-30 09:30:47 +03:00
Create app bundle for macOS
This commit is contained in:
parent
9189782d3b
commit
9bfd51ceed
6 changed files with 63 additions and 20 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -75,3 +75,5 @@ Temporary Items
|
|||
# Nix
|
||||
result
|
||||
|
||||
*.dmg
|
||||
dist/MacOS/nheko.app/Contents/MacOS/nheko
|
||||
|
|
40
Makefile
40
Makefile
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
33
dist/MacOS/nheko.app/Contents/Info.plist
vendored
Normal file
33
dist/MacOS/nheko.app/Contents/Info.plist
vendored
Normal 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>
|
0
dist/MacOS/nheko.app/Contents/MacOS/.gitkeep
vendored
Normal file
0
dist/MacOS/nheko.app/Contents/MacOS/.gitkeep
vendored
Normal file
BIN
dist/MacOS/nheko.app/Contents/Resources/nheko.icns
vendored
Normal file
BIN
dist/MacOS/nheko.app/Contents/Resources/nheko.icns
vendored
Normal file
Binary file not shown.
Loading…
Reference in a new issue