forked from sonic-pi-net/sonic-pi
-
Notifications
You must be signed in to change notification settings - Fork 2
/
appveyor.yml
156 lines (141 loc) · 4.67 KB
/
appveyor.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
# Build worker image (VM template)
image:
- Visual Studio 2019
- macos
- Ubuntu
configuration:
- Release
- Debug
branches:
only:
- main
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
- # Cleanup homebrew cache; output details about Homebrew's config; and check brew & print any warnings (for debugging)
- 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
- ./mac-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)
- ./mac-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 -y 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
- # Remove Erlang 20 and install Erlang 22 (21 or above is required)
- sudo apt-get purge -y --auto-remove erlang
- cd ~
- git clone https://github.com/erlang/otp.git
- cd otp
- git checkout OTP-22.3
- ./otp_build autoconf
- ./configure
- make
- sudo make install
- # Install prerequisite ruby gems
- sudo gem install bundler
build_script:
# generate build script
- cd "$APPVEYOR_BUILD_FOLDER"
- cd app/gui/qt
- ./linux-prebuild.sh --build-aubio
- ./linux-config.sh --config $CONFIGURATION
- cd build
- cmake --build .