Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mac refresh the mac build to deploy app and dmg #1297

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,18 @@ Build APM Planner

4) Run `open ./release/apmplanner2.app`

To build on Mac OS X (10.6 or later):

Install appdmg
-----------
`npm install -g appdmg`

Create a DMG
-----------
`./deploy/mac_dmg.sh`

Dmg file will be located in `./release/apmplanner2.dmg`


Linux
=====
Expand Down
2 changes: 1 addition & 1 deletion apm_planner.pro
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ MacBuild {
QT += multimedia

QMAKE_INFO_PLIST = Custom-Info.plist
CONFIG += x86_64
CONFIG += x86_64 arm64
CONFIG -= x86
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.7
Comment on lines +180 to 182
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure but I think its worth a test. Please remove the 2 CONFIG lines and use QMAKE_APPLE_DEVICE_ARCHS = x86_64 arm64 instead and use QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.14 I think mojave is old enough.
Perhaps this allows building a Universal binary

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes i was on it but look like i should to that
CONFIG -= x86
CONFIG -= x86_64
CONFIG += x86 arm64

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let me find an associated mac, I will also try to create different build and we can all test

Copy link
Contributor

@Youw Youw Sep 9, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Increasing the MACOSX_DEPLOYMENT_TARGET doesn't automatically enables Universal binary
that is a separate option
more than that, when building an arm64 or a universal binary - the niminum supported/deployement target is maxed to at least 10.14 automatically and w/o a warning, but only the the arm64 part of the binrary

ICON = $$BASEDIR/files/APMIcons/icon.icns
Expand Down
8 changes: 8 additions & 0 deletions deploy/assets/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"title": "APM Planner 2.0",
"icon": "../../files/APMIcons/icon.icns",
"contents": [
{ "x": 448, "y": 344, "type": "link", "path": "/Applications" },
{ "x": 192, "y": 344, "type": "file", "path": "../../release/apmplanner2.app" }
]
}
71 changes: 71 additions & 0 deletions deploy/mac_dmg.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
#!/bin/sh
echo "cccccccccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccloolccccccccccccccccccc
cccccccccccccccccccccclollccldxdolcccccccccccccccc
ccccccccccccccccccccccodkkO0OkO00kdolccccccccccccc
ccccccccccccccccccccccccllox0XWWWWNX0kdlcccccccccc
cccccccccccccccccccccccccccccoxOKWMMMWNKkdlccccccc
ccccccccccclllllccccccclllllllllldkKNWMMMWX0xolccc
ccccccccccxKXXX0dcccccdKXXXXXXXX0kolokKNWMMMWXxccc
cccccccclkNMMMMNxccccl0WMMWX0KNMMW0lcclOWMMMNOlccc
cccccccoOWMNNWMWkccccxNMMMXdcoKMMWOlccdKMMWXxlcccc
ccccccdKWMXxOWMWOlccoKMMMMNOOKWMN0ocldKWMWKdcccccc
cccclxXWMWNKNWMM0lcckNMMNXXKKK0kdllld0WMNOoccccccc
ccclONMWXOOOKWMMKocoKMMWOolllccccldx0NMXklcccccccc
cccdO00OocccoO00kocdO00koccccccodxdONWKdcccccccccc
cccccccccccccccccccccccccccccldxdoxKN0occccccccccc
cccccccccccccccccccccccccccldddlco0Xklcccccccccccc
ccccccccccccccccccccccccloodolcclOKxcccccccccccccc
cccccccccccccccccccccccllllcccclxOoccccccccccccccc
cccccccccccccccccccccccccccccccodlcccccccccccccccc
cccccccccccccccccccccccccccccccllccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccc
"
if [ -f "release/apmplanner2.dmg" ] ; then
rm -rf "release/apmplanner2.dmg"
fi

rm -rf release/apmplanner2.app
make -j8
echo 'macdeployqt "release/apmplanner2.app"'
macdeployqt "release/apmplanner2.app"

echo "rm -rf release/apmplanner2.app/Contents/Frameworks/SDL2.framework"
rm -rf release/apmplanner2.app/Contents/Frameworks/SDL2.framework
echo "cp -R libs/lib/Frameworks/SDL2.framework release/apmplanner2.app/Contents/Frameworks"
cp -R libs/lib/Frameworks/SDL2.framework release/apmplanner2.app/Contents/Frameworks

SIGN="$1"

ROOT=`pwd`
cd release/

echo "cd apmplanner2.app/Contents/MacOS"
cd apmplanner2.app/Contents/MacOS
echo "mv qml ../Resources"
mv qml ../Resources
echo "mv sik_uploader ../Resources "
mv sik_uploader ../Resources
echo "ln -s ../Resources/sik_uploader sik_uploader"
ln -s ../Resources/sik_uploader sik_uploader
echo "ln -s ../Resources/qml qml"
ln -s ../Resources/qml qml

cd ..
cd ..
cd ..


echo "Sign sub Framework"
find apmplanner2.app -name "*.framework" -exec codesign --timestamp --options runtime -f -s "$SIGN" {} \;
echo "Sign sub dylib"
find apmplanner2.app -name "*.dylib" -exec codesign --timestamp --options runtime -f -s "$SIGN" {} \;
echo "Sign apmplanner2.ap"
codesign --timestamp --options runtime -f -s "$SIGN" apmplanner2.app

cd $ROOT
appdmg deploy/assets/config.json release/apmplanner2.dmg