-
Notifications
You must be signed in to change notification settings - Fork 5
/
appveyor.yml
129 lines (103 loc) · 4.94 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
skip_commits:
files:
- .gitignore
- .todo.txt
- LICENSE
- README.md
- build.md
- coding_style.md
message: /.\[skip ci\]./
version: '{branch} v0.x (#{build})'
skip_tags: true
max_jobs: 42
notifications:
- provider: Slack
incoming_webhook:
secure: Chl4vnW7unY6EQvnjtGkll8IgVFCQEuy71L458sTgxJ/0EoT1aa0mizZg4zes6aTnBAxxS+OY/oc/dFaR/XBXCZ5PyLiJPaduINDN2rey/IlEgTSXHFuBEWGibjxZ1HU6mDxOSKcyG8ZQ/VqZH/CsVtIGOZBJya+IWZ2EmjmWhHxoWeunE0Tq7j6AXXZizmN
on_build_success: true
on_build_failure: true
on_build_status_changed: false
build:
verbosity: minimal
environment:
matrix:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
TOOLSET: vs2017
CONFIG: Debug
PLATFORM: x86
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
TOOLSET: vs2017
CONFIG: Debug
PLATFORM: x64
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
TOOLSET: vs2017
CONFIG: Release
PLATFORM: x86
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
TOOLSET: vs2017
CONFIG: Release
PLATFORM: x64
- APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1804
TOOLSET: gmake
CONFIG: debug
PLATFORM: x64
- APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1804
TOOLSET: gmake
CONFIG: release
PLATFORM: x64
install:
- cmd: cd %APPVEYOR_BUILD_FOLDER%/extlibs/include &&
mkdir nazara && cd nazara &&
cd %APPVEYOR_BUILD_FOLDER%/build &&
curl https://github.com/Apjue/NazaraEngine/releases/download/v0.4.y/NazaraEngine-msvc14.1-win-nightly.7z -Lo NazaraEngine.7z &&
7z x NazaraEngine.7z -oNazaraEngine &&
cd %APPVEYOR_BUILD_FOLDER%/extlibs/lib/ &&
cd %TOOLSET% && cd %PLATFORM% &&
mkdir nazara && cd nazara
if %PLATFORM% equ x86 ( set PLATFORMNAME=Win32 ) else ( set PLATFORMNAME=x64 )
- sh: sudo apt-get update &&
sudo apt-get install -y p7zip-full curl g++-8 build-essential libopenal-dev libsndfile1-dev libxcb-cursor-dev libxcb-ewmh-dev libxcb-randr0-dev
libxcb-icccm4-dev libxcb-keysyms1-dev libx11-dev libfreetype6-dev mesa-common-dev libgl1-mesa-dev libassimp-dev &&
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-8 &&
export CONFIG_UPPER=${CONFIG^}
before_build:
- cmd: cd %APPVEYOR_BUILD_FOLDER%/build &&
premake5.exe --lib-toolset=%TOOLSET% install_nazara &&
premake5.exe %TOOLSET%
build_script:
- cmd: cd %APPVEYOR_BUILD_FOLDER%/build/%TOOLSET% &&
msbuild "Teal.sln" /verbosity:minimal /p:Configuration=%CONFIG% /p:Platform=%PLATFORMNAME% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
- sh: cd ${APPVEYOR_BUILD_FOLDER}/extlibs/include && mkdir -p nazara &&
cd ${APPVEYOR_BUILD_FOLDER}/build &&
curl https://github.com/Apjue/NazaraEngine/releases/download/v0.4.y/NazaraEngine-gcc-8.2.0-linux64-libc6-2.27-3-nightly.7z -Lo NazaraEngine.7z &&
7z x NazaraEngine.7z -oNazaraEngine &&
cd ${APPVEYOR_BUILD_FOLDER}/extlibs/lib/ &&
mkdir -p ${TOOLSET} && cd ${TOOLSET} &&
mkdir -p ${PLATFORM} && cd ${PLATFORM} &&
mkdir -p micropather &&
cd micropather &&
cp -r ${APPVEYOR_BUILD_FOLDER}/extlibs/src/micropather/** ./ &&
./premake5-linux64 ${TOOLSET} &&
make config=${CONFIG}_${PLATFORM} &&
cp bin/${PLATFORM}/${CONFIG_UPPER}/libmicropather*.a ./ &&
cd ${APPVEYOR_BUILD_FOLDER}/build &&
./premake5-linux64 --lib-toolset=${TOOLSET} install_nazara &&
./premake5-linux64 ${TOOLSET} &&
cd ${TOOLSET} &&
make -j4 config=${CONFIG}_${PLATFORM}
after_build:
- cmd: cd %APPVEYOR_BUILD_FOLDER%/build/ &&
premake5.exe --package-config=%CONFIG%_%PLATFORM% package &&
cp -r %APPVEYOR_BUILD_FOLDER%/package_%CONFIG%_%PLATFORM% result &&
cd result &&
echo Appveyor Build %APPVEYOR_BUILD_NUMBER% (%CONFIG% %PLATFORM% with %APPVEYOR_BUILD_WORKER_IMAGE%) [ID %APPVEYOR_BUILD_ID%] on branch %APPVEYOR_REPO_BRANCH%\nCommit hash - %APPVEYOR_REPO_COMMIT%\n\nCommit message:\n"%APPVEYOR_REPO_COMMIT_MESSAGE%" > commit-info.log &&
7z a Teal.7z * && cd ../..
- sh: cd ${APPVEYOR_BUILD_FOLDER}/build/ &&
./premake5-linux64 --package-config=${CONFIG}_${PLATFORM} package &&
cp -r ${APPVEYOR_BUILD_FOLDER}/package_${CONFIG}_${PLATFORM} result &&
cd result &&
printf "Appveyor Build ${APPVEYOR_BUILD_NUMBER} (${CONFIG} ${PLATFORM} with ${APPVEYOR_BUILD_WORKER_IMAGE}) [ID ${APPVEYOR_BUILD_ID}] on branch ${APPVEYOR_REPO_BRANCH}\nCommit hash - ${APPVEYOR_REPO_COMMIT}\n\nCommit message:\n${APPVEYOR_REPO_COMMIT_MESSAGE}" > commit-info.log &&
7z a Teal.7z * && cd ../..
artifacts:
- path: build/result/Teal.7z
name: '%TOOLSET%-%CONFIG%-%PLATFORM%-%APPVEYOR_REPO_COMMIT%'