Skip to content

Commit

Permalink
Merge pull request #14 from dgslomin/feature/mac-build
Browse files Browse the repository at this point in the history
Feature: Mac build
  • Loading branch information
markusschwenk committed Sep 5, 2019
2 parents 42c04b4 + d151841 commit 602f06e
Show file tree
Hide file tree
Showing 5 changed files with 42 additions and 7 deletions.
23 changes: 17 additions & 6 deletions .travis.yml
Expand Up @@ -6,19 +6,22 @@ branches:
- master
- /^\d+\.\d+\.\d+(\.\d+)?$/

os:
- linux

env:
global:
- CONFIG=Release
- MIDIEDITOR_RELEASE_VERSION_ID=3
- MIDIEDITOR_RELEASE_VERSION_STRING=$TRAVIS_TAG
- MIDIEDITOR_PACKAGE_VERSION=1
- INSTALLJAMMER=installjammer/installjammer
matrix:
- BUILD_OS=LINUX MIDIEDITOR_BINARY=MidiEditor
- BUILD_OS=WINDOWS MXE=/usr/lib/mxe/ PATH=$MXE/usr/bin:$PATH MIDIEDITOR_BINARY_WINDOWS=windows32_build/.build/bin/MidiEditor.exe

matrix:
include:
- os: linux
env: BUILD_OS=LINUX MIDIEDITOR_BINARY=MidiEditor
- os: linux
env: BUILD_OS=WINDOWS MXE=/usr/lib/mxe/ PATH=$MXE/usr/bin:$PATH MIDIEDITOR_BINARY_WINDOWS=windows32_build/.build/bin/MidiEditor.exe
- os: osx
env: BUILD_OS=MAC MIDIEDITOR_BINARY=MidiEditor.app

before_install:
- if [ "$BUILD_OS" = "LINUX" ]; then sudo add-apt-repository --yes ppa:ubuntu-sdk-team/ppa; fi
Expand All @@ -29,17 +32,22 @@ before_install:
- if [ "$BUILD_OS" = "LINUX" ]; then sudo apt-get install fakeroot; fi
- QT_VERSION_MM=59
- QT_VERSION_FULL=591-trusty

# For mxe.cc (see http://mxe.cc/#requirements)
- if [ "$BUILD_OS" = "WINDOWS" ]; then sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 86B72ED9; fi
- if [ "$BUILD_OS" = "WINDOWS" ]; then sudo add-apt-repository 'deb [arch=amd64] http://mirror.mxe.cc/repos/apt trusty main'; fi
- if [ "$BUILD_OS" = "WINDOWS" ]; then sudo apt-get update; fi
- if [ "$BUILD_OS" = "WINDOWS" ]; then sudo apt-get install mxe-i686-w64-mingw32.static-qtbase mxe-i686-w64-mingw32.static-qtmultimedia; fi

- if [ "$BUILD_OS" = "MAC" ]; then brew install qt5; fi
- if [ "$BUILD_OS" = "MAC" ]; then brew link qt5 --force; fi

before_script:

script:
- if [ "$BUILD_OS" = "WINDOWS" ]; then sh building/build-windows.sh; fi
- if [ "$BUILD_OS" = "LINUX" ]; then sh building/build-linux.sh; fi
- if [ "$BUILD_OS" = "MAC" ]; then sh building/build-mac.sh; fi

before_deploy:
- if [ "$BUILD_OS" = "WINDOWS" ]; then git clone https://github.com/damoncourtney/installjammer.git installjammer; fi
Expand All @@ -53,6 +61,9 @@ before_deploy:
- if [ "$BUILD_OS" = "LINUX" ]; then sh packaging/unix/build_deb.sh; fi
- if [ "$BUILD_OS" = "LINUX" ]; then DEPLOY_BINARIY=releases/midieditor_$MIDIEDITOR_RELEASE_VERSION_STRING-$MIDIEDITOR_PACKAGE_VERSION-amd64.deb; fi

- if [ "$BUILD_OS" = "MAC" ]; then DEPLOY_BINARIY=releases/MidiEditor-$MIDIEDITOR_RELEASE_VERSION_STRING-mac.tar.gz; fi
- if [ "$BUILD_OS" = "MAC" ]; then tar cvzf $DEPLOY_BINARIY $MIDIEDITOR_BINARY fi

deploy:
provider: releases
prerelease: true
Expand Down
11 changes: 11 additions & 0 deletions building/build-mac.sh
@@ -0,0 +1,11 @@
#!/bin/sh
qmake -project -v
qmake midieditor.pro
make
status=$?
if [ $status -eq 0 ]; then
echo "build was successful"
else
echo "build failed"
exit 1
fi
Binary file added midieditor.icns
Binary file not shown.
11 changes: 10 additions & 1 deletion midieditor.pro
Expand Up @@ -61,7 +61,7 @@ isEmpty(MIDIEDITOR_RELEASE_DATE_QMAKE) {
DEFINES += MIDIEDITOR_RELEASE_DATE_DEF=$$MIDIEDITOR_RELEASE_DATE_QMAKE
message(Release date is set to $$MIDIEDITOR_RELEASE_DATE_QMAKE)

unix: {
unix:!macx {
DEFINES += __LINUX_ALSASEQ__
DEFINES += __LINUX_ALSA__
LIBS += -lasound
Expand All @@ -79,3 +79,12 @@ win32: {
MOC_DIR = .tmp
Release:DESTDIR = bin
}

macx: {
DEFINES += __MACOSX_CORE__
LIBS += -framework CoreMidi -framework CoreAudio -framework CoreFoundation
CONFIG += release
OBJECTS_DIR = .tmp
MOC_DIR = .tmp
ICON = midieditor.icns
}
4 changes: 4 additions & 0 deletions src/gui/MainWindow.cpp
Expand Up @@ -2559,7 +2559,11 @@ QWidget* MainWindow::setupActions(QWidget* parent)

QAction* pauseAction = new QAction("Pause", this);
pauseAction->setIcon(QIcon(":/run_environment/graphics/tool/pause.png"));
#ifdef Q_OS_MAC
pauseAction->setShortcut(QKeySequence(Qt::Key_Space + Qt::META));
#else
pauseAction->setShortcut(QKeySequence(Qt::Key_Space + Qt::CTRL));
#endif
connect(pauseAction, SIGNAL(triggered()), this, SLOT(pause()));
playbackMB->addAction(pauseAction);

Expand Down

0 comments on commit 602f06e

Please sign in to comment.