From 03d168f9728816c1a65acc463862fadfefee334b Mon Sep 17 00:00:00 2001 From: xawotihs Date: Sat, 6 Dec 2014 15:13:45 +0100 Subject: [PATCH 1/6] Added MacOS bundle creation in Qt .pro file --- projects/mtg/MacOS/Info.plist | 20 ++++++++++++++++++++ projects/mtg/MacOS/wagic.icns | Bin 0 -> 11436 bytes projects/mtg/MacOS/wagic.launcher | 5 +++++ projects/mtg/wagic-qt.pro | 22 ++++++++++++++++++++++ 4 files changed, 47 insertions(+) create mode 100644 projects/mtg/MacOS/Info.plist create mode 100644 projects/mtg/MacOS/wagic.icns create mode 100755 projects/mtg/MacOS/wagic.launcher diff --git a/projects/mtg/MacOS/Info.plist b/projects/mtg/MacOS/Info.plist new file mode 100644 index 000000000..3f2c494ee --- /dev/null +++ b/projects/mtg/MacOS/Info.plist @@ -0,0 +1,20 @@ + + + + + NSPrincipalClass + NSApplication + CFBundlePackageType + APPL + CFBundleGetInfoString + Created by Qt/QMake + CFBundleSignature + ???? + CFBundleExecutable + wagic.launcher + CFBundleIdentifier + wagic.wagic + NOTE + This file was generated by Qt/QMake. + + diff --git a/projects/mtg/MacOS/wagic.icns b/projects/mtg/MacOS/wagic.icns new file mode 100644 index 0000000000000000000000000000000000000000..a5cf7d686462bae48032414698ee5419514fd047 GIT binary patch literal 11436 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 literal 0 HcmV?d00001 diff --git a/projects/mtg/MacOS/wagic.launcher b/projects/mtg/MacOS/wagic.launcher new file mode 100755 index 000000000..09a36f175 --- /dev/null +++ b/projects/mtg/MacOS/wagic.launcher @@ -0,0 +1,5 @@ +#!/bin/bash + +cd ${0%/*/*}/Resources +#cd ../Resources +exec ../MacOS/wagic -platformpluginpath ../PlugIns >> ../logs/out.log 2> ../logs/err.log diff --git a/projects/mtg/wagic-qt.pro b/projects/mtg/wagic-qt.pro index 9c547d11a..d53f75fcd 100644 --- a/projects/mtg/wagic-qt.pro +++ b/projects/mtg/wagic-qt.pro @@ -134,6 +134,28 @@ maemo5: { USERDIR = /sdcard/Wagic/Res DEFINES += RESDIR=\\\"$$RESDIR\\\" DEFINES += USERDIR=\\\"$$USERDIR\\\" +} else:macx { + # Copy the custom Info.plist to the app bundle + QMAKE_INFO_PLIST = MacOS/Info.plist + # Icon is mandatory for submission + ICON = MacOS/wagic.icns + + #Move resource file + res.commands = cd $$_PRO_FILE_PWD_/bin/Res; python createResourceZip.py; + res.depends = all + QMAKE_EXTRA_TARGETS += res + + # Create a dmg file + dmg.commands = mkdir wagic.app/Contents/logs; mkdir wagic.app/Contents/Resources/Res; mv $$_PRO_FILE_PWD_/bin/Res/core*.zip wagic.app/Contents/Resources/Res; cp $$_PRO_FILE_PWD_/MacOS/wagic.launcher wagic.app/Contents/MacOS; $$dirname(QMAKE_QMAKE)/macdeployqt wagic.app -dmg + dmg.depends = res + QMAKE_EXTRA_TARGETS += dmg + + QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.9 + QMAKE_MAC_SDK = macosx + + # Only Intel binaries are accepted so force this + CONFIG += x86 + } else:unix { # Variables BINDIR = /usr/bin From 16dcf3cc5ecdc2500d86f060492a34603abd3a08 Mon Sep 17 00:00:00 2001 From: xawotihs Date: Sun, 7 Dec 2014 16:02:56 +0100 Subject: [PATCH 2/6] - Moved scripts in tools directory - Added a Mac cross-compiling script --- .travis.yml | 8 +- appveyor.yml | 2 +- tools/build-macos-script.sh | 47 +++++++++ travis-script.sh => tools/travis-script.sh | 25 +---- .../upload-binaries.py | 0 upload-binaries.sh | 99 ------------------- 6 files changed, 55 insertions(+), 126 deletions(-) create mode 100644 tools/build-macos-script.sh rename travis-script.sh => tools/travis-script.sh (74%) rename upload-binaries.py => tools/upload-binaries.py (100%) delete mode 100755 upload-binaries.sh diff --git a/.travis.yml b/.travis.yml index ece4fd393..73f3ec230 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,9 +30,9 @@ env: global: secure: "fJgWlCFbde96OSQNGKUmowGX+ERPeqP+n1EOMf1+FJzOU4DdkTLRAlV5+5qnEX9jB/3mWN6iPpmG1qEz/SdDG3KHxJYs4ZU/Lu485O24zZ/+GdYBNsrvhPD9ckPGEMLDa1foEVTDnW0Dlkz3BCFcszjhtXGUJv7v6Pj6LRk1Mg8=" -script: "./travis-script.sh" +script: "tools/travis-script.sh" after_success: -- python upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l core.zip -r Wagic-core.zip -b $TRAVIS_BRANCH -- python upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l projects/mtg/Android/bin/Wagic-debug.apk -r Wagic-android.apk -b $TRAVIS_BRANCH -- python upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l projects/mtg/psprelease.zip -r Wagic-psp.zip -b $TRAVIS_BRANCH +- python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l core.zip -r Wagic-core.zip -b $TRAVIS_BRANCH +- python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l projects/mtg/Android/bin/Wagic-debug.apk -r Wagic-android.apk -b $TRAVIS_BRANCH +- python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l projects/mtg/psprelease.zip -r Wagic-psp.zip -b $TRAVIS_BRANCH diff --git a/appveyor.yml b/appveyor.yml index a0802bbc0..41490b4c9 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -61,7 +61,7 @@ after_deploy: # to run your custom scripts instead of provider deployments deploy_script: - - "C:/Python27/python.exe upload-binaries.py -t %GH_TOKEN% -s %APPVEYOR_REPO_COMMIT% -l projects/mtg/bin/Wagic-windows.zip -r Wagic-windows.zip -b %APPVEYOR_REPO_BRANCH%" + - "C:/Python27/python.exe tools/upload-binaries.py -t %GH_TOKEN% -s %APPVEYOR_REPO_COMMIT% -l projects/mtg/bin/Wagic-windows.zip -r Wagic-windows.zip -b %APPVEYOR_REPO_BRANCH%" # to disable deployment #deploy: off diff --git a/tools/build-macos-script.sh b/tools/build-macos-script.sh new file mode 100644 index 000000000..c7cc35fee --- /dev/null +++ b/tools/build-macos-script.sh @@ -0,0 +1,47 @@ +#!/bin/sh -ex + +## New of branch to use +TRAVIS_MAC_BRANCH=travis_mac_osx + +## New Travis-CI configuration, adapted for Mac-OS +NEW_TRAVIS_YML=\ +"language: objective-c +before_install: +- brew update +- brew install qt5 +env: + global: + secure: "fJgWlCFbde96OSQNGKUmowGX+ERPeqP+n1EOMf1+FJzOU4DdkTLRAlV5+5qnEX9jB/3mWN6iPpmG1qEz/SdDG3KHxJYs4ZU/Lu485O24zZ/+GdYBNsrvhPD9ckPGEMLDa1foEVTDnW0Dlkz3BCFcszjhtXGUJv7v6Pj6LRk1Mg8=" +script: +- /usr/local/opt/qt5/bin/qmake projects/mtg/wagic-qt.pro CONFIG+=graphics +- make -j 4 dmg +after_success: +- python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l wagic.dmg -r Wagic-macosx.dmg -b $TRAVIS_BRANCH" + +## Only cross-compile on Mac the master branch +test "$TRAVIS_BRANCH" != "master" && exit 0 + +## Configure Git to use OAuth token +git config credential.helper "store --file=.git/credentials" +echo "https://${GH_TOKEN}:@github.com" > .git/credentials + +## Delete remote Travis-Mac branch (if any) +REMOTE=$(git branch -r | grep "origin/$TRAVIS_MAC_BRANCH\$") +if test -n "$REMOTE" ; then + # Delete remote branch + git branch -r -D "origin/$TRAVIS_MAC_BRANCH" + # Push (delete) remote branch on temote server (e.g. github) + git push origin ":$TRAVIS_MAC_BRANCH" +fi + +## Create a new branch +git checkout -q -b "$TRAVIS_MAC_BRANCH" "$TRAVIS_BRANCH" + +## Write a new Travis-CI configuration file +echo "$NEW_TRAVIS_YML" > .travis.yml +git add .travis.yml +git rm appveyor.yml +git commit -m "Auto-Updated Travis-CI configuration for Mac" + +## Push new branch to remote server +git push -q origin $TRAVIS_MAC_BRANCH:$TRAVIS_MAC_BRANCH diff --git a/travis-script.sh b/tools/travis-script.sh similarity index 74% rename from travis-script.sh rename to tools/travis-script.sh index 3cd466e71..73b03e457 100755 --- a/travis-script.sh +++ b/tools/travis-script.sh @@ -72,29 +72,10 @@ cd .. $QMAKE projects/mtg/wagic-qt.pro CONFIG+=console CONFIG+=debug DEFINES+=CAPTURE_STDERR make -j 8 -# we're cross-compiling a Qt Windows version here, -# PATH is only set here to prevent colision - -# export PATH="$PATH:/opt/mingw32/bin" -# mkdir build -# cd build -# mkdir win-cross -# cd win-cross -# /opt/mingw32/bin/qmake ../../projects/mtg/wagic-qt.pro CONFIG+=release CONFIG+=graphics -# make -j 8 -# cd release -# cp ../../../projects/mtg/bin/fmod.dll . -# cp /opt/mingw32/bin/QtCore4.dll . -# cp /opt/mingw32/bin/QtGui4.dll . -# cp /opt/mingw32/bin/QtNetwork4.dll . -# cp /opt/mingw32/bin/QtOpenGL4.dll . -# cp ../../../projects/mtg/bin/zlib1.dll . -# cp /opt/mingw32/bin/libpng15-15.dll . -# cd .. -# zip win-cross.zip -r release/ -# cd ../.. - # Now we run the testsuite (Res needs to be in the working directory) cd projects/mtg ../../wagic cd ../.. + +# Let's launch de Mac cross-compilation +./build-macos-script.sh diff --git a/upload-binaries.py b/tools/upload-binaries.py similarity index 100% rename from upload-binaries.py rename to tools/upload-binaries.py diff --git a/upload-binaries.sh b/upload-binaries.sh deleted file mode 100755 index 272b4771d..000000000 --- a/upload-binaries.sh +++ /dev/null @@ -1,99 +0,0 @@ -if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then -if [ "$TRAVIS_BRANCH" == "alphas" ]; then - echo -e "Creating a release\n" - curl -X POST -H "Authorization: token ${GH_TOKEN}" \ - -d '{"tag_name": "alpha-'${TRAVIS_BUILD_NUMBER}'", "target_commitish": "master", "name": "Alpha release number '${TRAVIS_BUILD_NUMBER}'", "body": "Automatic alpha release generated by Travis CI", "draft": false, "prerelease": true}' "https://api.github.com/repos/WagicProject/wagic/releases" > json.txt - IDDI=`cat json.txt | jq '.id'` - - echo -e "Uploading Core resources\n" - curl -X POST -H "Authorization: token ${GH_TOKEN}" \ - -H "Accept: application/vnd.github.manifold-preview" \ - -H "Content-Type: application/zip" \ - --data-binary @core.zip \ - "https://uploads.github.com/repos/WagicProject/wagic/releases/${IDDI}/assets?name=Wagic-core.zip" - - echo -e "Uploading android package\n" - curl -X POST -H "Authorization: token ${GH_TOKEN}" \ - -H "Accept: application/vnd.github.manifold-preview" \ - -H "Content-Type: application/zip" \ - --data-binary @projects/mtg/Android/bin/Wagic-debug.apk \ - "https://uploads.github.com/repos/WagicProject/wagic/releases/${IDDI}/assets?name=Wagic-android.apk" - - echo -e "Uploading PSP package\n" - curl -X POST -H "Authorization: token ${GH_TOKEN}" \ - -H "Accept: application/vnd.github.manifold-preview" \ - -H "Content-Type: application/zip" \ - --data-binary @projects/mtg/psprelease.zip \ - "https://uploads.github.com/repos/WagicProject/wagic/releases/${IDDI}/assets?name=Wagic-psp.zip" - -# echo -e "Uploading Windows package\n" -# curl -X POST -H "Authorization: token ${GH_TOKEN}" \ -# -H "Accept: application/vnd.github.manifold-preview" \ -# -H "Content-Type: application/zip" \ -# --data-binary @build/win-cross/win-cross.zip \ -# "https://uploads.github.com/repos/WagicProject/wagic/releases/${IDDI}/assets?name=Wagic-windows.zip" - - echo -e "Done uploading\n" -fi -fi - -if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then -if [ "$TRAVIS_BRANCH" == "master" ]; then - - # get info about all releases - echo -e "Getting info about previous releases" - curl -X GET -H "Authorization: token ${GH_TOKEN}" \ - "https://api.github.com/repos/WagicProject/wagic/releases" > json.txt - - # extract info only about only "latest-release" tag - cat json.txt |jq 'map(select (.tag_name == "latest-master"))' > latest.txt - - # get id of release - ID_TO_DELETE=`cat latest.txt |jq '.[0].id'` - - # delete previous release - echo -e "Deleting release number ${ID_TO_DELETE}" - curl -X DELETE -H "Authorization: token ${GH_TOKEN}" \ - "https://api.github.com/repos/WagicProject/wagic/releases/${ID_TO_DELETE}" - - # delete previous tag - curl -X DELETE -H "Authorization: token ${GH_TOKEN}" \ - "https://api.github.com/repos/WagicProject/wagic/git/refs/tags/latest-master" - - - echo -e "Creating a release\n" - curl -X POST -H "Authorization: token ${GH_TOKEN}" \ - -d '{"tag_name": "latest-master", "target_commitish": "master", "name": "master-'${TRAVIS_BUILD_NUMBER}'", "body": "Automatic release based on latest commit to master branch generated by Travis CI", "draft": false, "prerelease": true}' "https://api.github.com/repos/WagicProject/wagic/releases" > json.txt - IDDI=`cat json.txt | jq '.id'` - - echo -e "Uploading Core resources\n" - curl -X POST -H "Authorization: token ${GH_TOKEN}" \ - -H "Accept: application/vnd.github.manifold-preview" \ - -H "Content-Type: application/zip" \ - --data-binary @core.zip \ - "https://uploads.github.com/repos/WagicProject/wagic/releases/${IDDI}/assets?name=Wagic-core.zip" - - echo -e "Uploading android package\n" - curl -X POST -H "Authorization: token ${GH_TOKEN}" \ - -H "Accept: application/vnd.github.manifold-preview" \ - -H "Content-Type: application/zip" \ - --data-binary @projects/mtg/Android/bin/Wagic-debug.apk \ - "https://uploads.github.com/repos/WagicProject/wagic/releases/${IDDI}/assets?name=Wagic-android.apk" - - echo -e "Uploading PSP package\n" - curl -X POST -H "Authorization: token ${GH_TOKEN}" \ - -H "Accept: application/vnd.github.manifold-preview" \ - -H "Content-Type: application/zip" \ - --data-binary @projects/mtg/psprelease.zip \ - "https://uploads.github.com/repos/WagicProject/wagic/releases/${IDDI}/assets?name=Wagic-psp.zip" - -# echo -e "Uploading Windows package\n" -# curl -X POST -H "Authorization: token ${GH_TOKEN}" \ -# -H "Accept: application/vnd.github.manifold-preview" \ -# -H "Content-Type: application/zip" \ -# --data-binary @build/win-cross/win-cross.zip \ -# "https://uploads.github.com/repos/WagicProject/wagic/releases/${IDDI}/assets?name=Wagic-windows.zip" - - echo -e "Done uploading\n" -fi -fi From e78754bcd53ab8fce63a4fcb30938c5648095cdc Mon Sep 17 00:00:00 2001 From: xawotihs Date: Sun, 7 Dec 2014 16:24:39 +0100 Subject: [PATCH 3/6] Fixed mac script call --- tools/travis-script.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/travis-script.sh b/tools/travis-script.sh index 73b03e457..2bb494bdd 100755 --- a/tools/travis-script.sh +++ b/tools/travis-script.sh @@ -78,4 +78,4 @@ cd projects/mtg cd ../.. # Let's launch de Mac cross-compilation -./build-macos-script.sh +./tools/build-macos-script.sh From 02efa4745f778050a30ccf23f9734280a62b0266 Mon Sep 17 00:00:00 2001 From: xawotihs Date: Sun, 7 Dec 2014 16:39:15 +0100 Subject: [PATCH 4/6] Fixed access to mac script and added mac branch to the list of branch authorized to upload binaries --- tools/build-macos-script.sh | 0 tools/upload-binaries.py | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 tools/build-macos-script.sh diff --git a/tools/build-macos-script.sh b/tools/build-macos-script.sh old mode 100644 new mode 100755 diff --git a/tools/upload-binaries.py b/tools/upload-binaries.py index dc2238b05..d09c651a6 100644 --- a/tools/upload-binaries.py +++ b/tools/upload-binaries.py @@ -49,7 +49,7 @@ def main(): (options, args) = parser.parse_args() - if (options.token and options.sha and options.local and options.remote and options.branch == 'master'): + if (options.token and options.sha and options.local and options.remote and (options.branch == 'master' or options.branch == 'travis_mac_osx')): gh = login(token = options.token) else: parser.print_help() From 6a37425a380112f231def9ac28fbeb4f52eedb6a Mon Sep 17 00:00:00 2001 From: xawotihs Date: Sun, 7 Dec 2014 16:48:57 +0100 Subject: [PATCH 5/6] Changed number of processes to 4 --- tools/travis-script.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/travis-script.sh b/tools/travis-script.sh index 2bb494bdd..b83388226 100755 --- a/tools/travis-script.sh +++ b/tools/travis-script.sh @@ -36,11 +36,11 @@ cd ../../../.. # we're building a PSP binary here cd JGE -make -j 8 +make -j 4 cd .. cd projects/mtg mkdir objs -make -j 8 +make -j 4 mkdir WTH mkdir WTH/Res mv EBOOT.PBP WTH/ @@ -56,7 +56,7 @@ zip psprelease.zip -r WTH/ cd ../.. # we're building an Android binary here -android-ndk-r9/ndk-build -C projects/mtg/Android -j8 +android-ndk-r9/ndk-build -C projects/mtg/Android -j4 $ANDROID list targets $ANDROID update project -t 1 -p projects/mtg/Android ant debug -f projects/mtg/Android/build.xml @@ -65,12 +65,12 @@ ant debug -f projects/mtg/Android/build.xml mkdir qt-gui-build cd qt-gui-build $QMAKE ../projects/mtg/wagic-qt.pro CONFIG+=release CONFIG+=graphics -make -j 8 +make -j 4 cd .. # let's try an Intel linux binary in debug text-mode-only $QMAKE projects/mtg/wagic-qt.pro CONFIG+=console CONFIG+=debug DEFINES+=CAPTURE_STDERR -make -j 8 +make -j 4 # Now we run the testsuite (Res needs to be in the working directory) cd projects/mtg From dbe1c6e2aee08d0f5f75a84aabd5fe4cbe7b3cf5 Mon Sep 17 00:00:00 2001 From: xawotihs Date: Sun, 7 Dec 2014 17:26:32 +0100 Subject: [PATCH 6/6] Moved mac travis file outside of script and update oauth token --- .travis.yml | 2 +- tools/build-macos-script.sh | 17 +---------------- tools/macos.travis.yml | 12 ++++++++++++ 3 files changed, 14 insertions(+), 17 deletions(-) create mode 100644 tools/macos.travis.yml diff --git a/.travis.yml b/.travis.yml index 73f3ec230..3daf0f480 100644 --- a/.travis.yml +++ b/.travis.yml @@ -28,7 +28,7 @@ install: env: global: - secure: "fJgWlCFbde96OSQNGKUmowGX+ERPeqP+n1EOMf1+FJzOU4DdkTLRAlV5+5qnEX9jB/3mWN6iPpmG1qEz/SdDG3KHxJYs4ZU/Lu485O24zZ/+GdYBNsrvhPD9ckPGEMLDa1foEVTDnW0Dlkz3BCFcszjhtXGUJv7v6Pj6LRk1Mg8=" + secure: "gTRPB+QAFO+OgIMSonYIMq5yhyvMib20DaeMrueqDsQatXdoJHhmncV1m2Kqiwh2o7esZPVTKo2PcvLyWOqtFS6Jt/AX7TzEqj4yehgD4xr6stpaKkTkKgtd2UR29CJPASWJHXzavnm8d57ZNq5iEu0YhwdlKeu1/Koe3QoU5SM=" script: "tools/travis-script.sh" diff --git a/tools/build-macos-script.sh b/tools/build-macos-script.sh index c7cc35fee..4e4284eb2 100755 --- a/tools/build-macos-script.sh +++ b/tools/build-macos-script.sh @@ -3,21 +3,6 @@ ## New of branch to use TRAVIS_MAC_BRANCH=travis_mac_osx -## New Travis-CI configuration, adapted for Mac-OS -NEW_TRAVIS_YML=\ -"language: objective-c -before_install: -- brew update -- brew install qt5 -env: - global: - secure: "fJgWlCFbde96OSQNGKUmowGX+ERPeqP+n1EOMf1+FJzOU4DdkTLRAlV5+5qnEX9jB/3mWN6iPpmG1qEz/SdDG3KHxJYs4ZU/Lu485O24zZ/+GdYBNsrvhPD9ckPGEMLDa1foEVTDnW0Dlkz3BCFcszjhtXGUJv7v6Pj6LRk1Mg8=" -script: -- /usr/local/opt/qt5/bin/qmake projects/mtg/wagic-qt.pro CONFIG+=graphics -- make -j 4 dmg -after_success: -- python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l wagic.dmg -r Wagic-macosx.dmg -b $TRAVIS_BRANCH" - ## Only cross-compile on Mac the master branch test "$TRAVIS_BRANCH" != "master" && exit 0 @@ -38,7 +23,7 @@ fi git checkout -q -b "$TRAVIS_MAC_BRANCH" "$TRAVIS_BRANCH" ## Write a new Travis-CI configuration file -echo "$NEW_TRAVIS_YML" > .travis.yml +cp tools/mac.travis.yml .travis.yml git add .travis.yml git rm appveyor.yml git commit -m "Auto-Updated Travis-CI configuration for Mac" diff --git a/tools/macos.travis.yml b/tools/macos.travis.yml new file mode 100644 index 000000000..caa7c5612 --- /dev/null +++ b/tools/macos.travis.yml @@ -0,0 +1,12 @@ +language: objective-c +before_install: +- brew update +- brew install qt5 +env: + global: + secure: "gTRPB+QAFO+OgIMSonYIMq5yhyvMib20DaeMrueqDsQatXdoJHhmncV1m2Kqiwh2o7esZPVTKo2PcvLyWOqtFS6Jt/AX7TzEqj4yehgD4xr6stpaKkTkKgtd2UR29CJPASWJHXzavnm8d57ZNq5iEu0YhwdlKeu1/Koe3QoU5SM=" +script: +- /usr/local/opt/qt5/bin/qmake projects/mtg/wagic-qt.pro CONFIG+=graphics +- make -j 4 dmg +after_success: +- python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l wagic.dmg -r Wagic-macosx.dmg -b $TRAVIS_BRANCH