# Build worker image (VM template)
image:
- Visual Studio 2019
- macos
- Ubuntu
configuration:
- Release
- Debug
branches:
only:
- master
platform:
- x64
matrix:
fast_finish: true
for:
# Windows build
-
matrix:
only:
- image: Visual Studio 2019
configuration:
- Release
- Debug
environment:
MSBUILD_FLAGS: /verbosity:minimal /maxcpucount
matrix:
- generator: "Visual Studio 16 2019"
init:
# scripts that are called at very beginning, before repo cloning
- date /T & time /T
- git config --global core.autocrlf input
- cmake --version
install:
- dir c:\
- dir c:\Qt
- cd %APPVEYOR_BUILD_FOLDER%
- dir
- cd app\server\native
- mklink /d ruby c:\Ruby26-x64
- set PATH=c:\Ruby26-x64\bin;C:\Program Files (x86)\WiX Toolset v3.11\bin;%PATH%
- gem install aubio win32-process
- gem install rugged --version 0.27.1
- set QT_INSTALL_LOCATION=C:\Qt\5.14\msvc2017_64
- set Qt5_DIR=C:\Qt\5.14\msvc2017_64\lib\cmake\Qt5
build_script:
# generate build script
- cd %APPVEYOR_BUILD_FOLDER%
- cd app\gui\qt
- win-prebuild.bat
- win-config.bat
- cd build
- cmake --build . --target ALL_BUILD --config %configuration% -- /nologo /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
after_build:
- cd %APPVEYOR_BUILD_FOLDER%
- cd install\windows
- IF "%configuration%"=="Release" install.bat
#- IF "%configuration%"=="Release" appveyor PushArtifact wix\sonic-pi.msi
# macOS build
-
matrix:
only:
- image: macos
configuration:
- Release
- Debug
init:
# scripts that are called at very beginning, before repo cloning
- date '+%Y-%m-%d %T %Z(UTC%z)'
- cmake --version
- # Update Homebrew; cleanup cache; output details about Homebrew's config; and check brew & print any warnings (for debugging)
- brew update
- brew cleanup
- brew config
- brew doctor || true
install:
- cd "$APPVEYOR_BUILD_FOLDER"
- ls -lA
- # Install erlang & aubio
- # (We install aubio using brew instead of building it from source so that the build can complete within the 1 hour time limit)
- brew install erlang aubio
- # Relink gettext to Homebrew folders to hopefully fix symbol errors (based from https://github.com/EOSIO/eos/issues/2174)
- brew link gettext --force
- export PATH="/usr/local/opt/gettext/bin:$PATH" # Add gettext to the path
- # Install prerequisite ruby gems
- sudo gem install bundler
build_script:
# generate build script
- cd "$APPVEYOR_BUILD_FOLDER"
- cd app/gui/qt
- ./unix-prebuild.sh
- # (We don't build aubio from source in prebuild, but instead use the brew installed version so that the build can complete within the 1 hour time limit)
- ./unix-config.sh --config $CONFIGURATION
- cd build
- cmake --build .
# Ubuntu Linux build
-
matrix:
only:
- image: Ubuntu
configuration:
- Release
- Debug
init:
# scripts that are called at very beginning, before repo cloning
- date '+%Y-%m-%d %T %Z(UTC%z)'
- cmake --version
install:
- cd "$APPVEYOR_BUILD_FOLDER"
- ls -lA
- sudo apt-get update
- # Remove old versions of CMake if pre-installed
- sudo apt-get purge -y --auto-remove cmake
- # Add Kitware's apt repo (for newest CMake)
- sudo apt-get install apt-transport-https ca-certificates gnupg software-properties-common wget
- wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add -
- sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'
- sudo apt-get update
- # Install prerequisite packages
- sudo apt-get install -y git build-essential cmake ruby ruby-dev erlang-base
- sudo apt-get install -y qt5-default libqt5svg5-dev qttools5-dev qttools5-dev-tools qtdeclarative5-dev libqt5webkit5-dev qtpositioning5-dev libqt5sensors5-dev libqt5opengl5-dev qtmultimedia5-dev
- sudo apt-get install -y libjack-jackd2-dev libasound2-dev libavahi-client-dev libicu-dev libreadline6-dev libfftw3-dev libxt-dev libudev-dev libboost-dev libffi-dev
- # Install prerequisite ruby gems
- sudo gem install bundler
build_script:
# generate build script
- cd "$APPVEYOR_BUILD_FOLDER"
- cd app/gui/qt
- ./unix-prebuild.sh --build-aubio
- ./unix-config.sh --config $CONFIGURATION
- cd build
- cmake --build .