forked from mikke89/RmlUi
-
Notifications
You must be signed in to change notification settings - Fork 1
/
.appveyor.yml
163 lines (129 loc) · 6.84 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
157
158
159
160
161
162
163
version: build.{build}
# We run MinGW on the Visual Studio 2019 image and MSVC on the Visual Studio 2017 image.
image:
- Visual Studio 2019
- Visual Studio 2017
environment:
FREETYPE_VER: 2.10.1
VS_SHORTNAME: vs2017
matrix:
- VS_GENERATOR: Visual Studio 15 2017 Win64
PLATFORM_NAME: win64
- VS_GENERATOR: Visual Studio 15 2017
PLATFORM_NAME: win32
matrix:
exclude:
- image: Visual Studio 2019
PLATFORM_NAME: win32
install:
- cmd: |-
cd Dependencies
appveyor DownloadFile https://github.com/ubawurinna/freetype-windows-binaries/releases/download/v%FREETYPE_VER%/freetype.zip
unzip -o freetype.zip -d freetype_tmp
mv freetype_tmp/include include
mv freetype_tmp/%PLATFORM_NAME% lib
git clone --depth 1 --branch v0.2 https://github.com/Samsung/rlottie.git
cd rlottie
mkdir build
cd build
cmake -G "%VS_GENERATOR%" -DBUILD_SHARED_LIBS=OFF -DLOTTIE_MODULE=OFF ..
cmake --build . --target rlottie --config Debug -- "/clp:ErrorsOnly"
cmake --build . --target rlottie --config Release -- "/clp:ErrorsOnly"
cd ../../
git clone --depth 1 --branch v2.3.1 https://github.com/sammycage/lunasvg.git
cd lunasvg
mkdir build
cd build
cmake -G "%VS_GENERATOR%" -DBUILD_SHARED_LIBS=OFF -DLUNASVG_BUILD_EXAMPLES=OFF ..
cmake --build . --target lunasvg --config Debug -- "/clp:ErrorsOnly"
cmake --build . --target lunasvg --config Release -- "/clp:ErrorsOnly"
cd ../../
cd ..
mkdir Build-Dynamic, Build-Static, Build-Samples
cd Build-Dynamic
cmake -G "%VS_GENERATOR%" -DBUILD_SHARED_LIBS=ON -DBUILD_SAMPLES=OFF -DWARNINGS_AS_ERRORS=ON ..
cd ../Build-Static
cmake -G "%VS_GENERATOR%" -DBUILD_SHARED_LIBS=OFF -DBUILD_SAMPLES=OFF -DWARNINGS_AS_ERRORS=ON ..
cd ../Build-Samples
cmake -G "%VS_GENERATOR%" -DBUILD_SHARED_LIBS=ON -DENABLE_LOTTIE_PLUGIN=ON -DENABLE_SVG_PLUGIN=ON -DBUILD_SAMPLES=ON -DWARNINGS_AS_ERRORS=ON ..
cd ..
build_script:
- cmd: |-
msbuild Build-Dynamic/RmlUi.sln /p:configuration=debug /verbosity:minimal /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
msbuild Build-Dynamic/RmlUi.sln /p:configuration=release /verbosity:minimal /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
msbuild Build-Static/RmlUi.sln /p:configuration=debug /verbosity:minimal /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
msbuild Build-Static/RmlUi.sln /p:configuration=release /verbosity:minimal /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
msbuild Build-Samples/RmlUi.sln /p:configuration=release /verbosity:minimal /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
after_build:
- cmd: |-
mkdir Bin
cd Bin
mkdir Dynamic-Debug, Dynamic-Release, Static-Debug, Static-Release
cp ../Build-Dynamic/Debug/Rml*.{lib,dll,pdb} Dynamic-Debug
cp ../Build-Dynamic/Release/Rml*.{lib,dll} Dynamic-Release
cp ../Build-Static/Debug/Rml*.{lib,pdb} Static-Debug
cp ../Build-Static/Release/Rml*.lib Static-Release
cd ..
cp Build-Samples/Release/*.exe Samples
cp Build-Samples/Release/Rml*.dll Samples
cp Dependencies/lib/*.dll Samples
mv Dependencies/lib/ Dependencies/freetype-%FREETYPE_VER%
cp Dependencies/freetype_tmp/*.TXT Dependencies/freetype-%FREETYPE_VER%
IF NOT "%APPVEYOR_REPO_TAG_NAME%"=="" SET RMLUI_VERSION= %APPVEYOR_REPO_TAG_NAME%
echo RmlUi%RMLUI_VERSION% library and sample binaries for %PLATFORM_NAME%.> Build.txt& echo.>>Build.txt
echo https://github.com/mikke89/RmlUi>> Build.txt& echo.>>Build.txt
echo Built using %VS_GENERATOR% on %APPVEYOR_REPO_COMMIT_TIMESTAMP:~0,10% (build %APPVEYOR_BUILD_NUMBER%).>> Build.txt
echo Commit id: %APPVEYOR_REPO_COMMIT%.>> Build.txt
cd Dependencies/rlottie/
echo The rlottie library includes source code licensed under Mozilla Public License Version 2.0.> MPL_SOURCE.txt
echo The source for this code can be found in the rlottie library at the following URL:>> MPL_SOURCE.txt
echo https://github.com/Samsung/rlottie/blob/29b391b95913877b7234543da8b4a9ec6d8175d0/src/vector/vinterpolator.cpp>> MPL_SOURCE.txt
cd ../..
cp Include/RmlUi/Core/Containers/LICENSE.txt LICENSE.Core.ThirdParty.txt
cp Source/Debugger/LICENSE.txt LICENSE.Debugger.ThirdParty.txt
7z a RmlUi-%VS_SHORTNAME%-%PLATFORM_NAME%.zip Backends/ Bin/ Include/ Samples/ Build.txt readme.md changelog.md LICENSE* Dependencies/freetype-%FREETYPE_VER%/ Dependencies/rlottie/COPYING Dependencies/rlottie/MPL_SOURCE.txt Dependencies/rlottie/licenses/ Dependencies/lunasvg/LICENSE
mkdir Samples\Dependencies\freetype-%FREETYPE_VER%, Samples\Dependencies\rlottie, Samples\Dependencies\rlottie\licenses, Samples\Dependencies\lunasvg
cp LICENSE* Samples
cp Dependencies/freetype-%FREETYPE_VER%/*.TXT Samples/Dependencies/freetype-%FREETYPE_VER%
cp Dependencies/rlottie/COPYING Samples/Dependencies/rlottie
cp Dependencies/rlottie/MPL_SOURCE.txt Samples/Dependencies/rlottie
cp Dependencies/rlottie/licenses/* Samples/Dependencies/rlottie/licenses
cp Dependencies/lunasvg/LICENSE Samples/Dependencies/lunasvg
IF "%PLATFORM_NAME%"=="win64" 7z a RmlUi-%PLATFORM_NAME%-samples-only.zip .\Samples\* -r -xr!src\ -x!shell\ -x!luainvaders\
for:
-
matrix:
only:
- image: Visual Studio 2019
install:
- cmd: |-
C:\msys64\usr\bin\bash -lc "pacman --needed --noconfirm -S mingw-w64-x86_64-gcc mingw-w64-x86_64-make mingw-w64-x86_64-freetype mingw-w64-x86_64-lua"
C:\msys64\usr\bin\bash -lc "pacman --needed --noconfirm -S mingw-w64-x86_64-sfml mingw-w64-x86_64-SDL2 mingw-w64-x86_64-SDL2_image mingw-w64-x86_64-glew"
mkdir Build
cd Build
set PATH=%PATH:C:\Program Files\Git\usr\bin;=%
set PATH=C:\msys64\mingw64\bin;C:\msys64\usr\bin;%PATH%
set GLEW_INCLUDE_DIR=C:/msys64/mingw64/include/GL
set GLEW_LIBRARIES=C:/msys64/mingw64/lib/libglew32.dll.a
cmake -G "MinGW Makefiles" -DBUILD_SHARED_LIBS=ON -DENABLE_PRECOMPILED_HEADERS=OFF -DBUILD_SAMPLES=ON -DBUILD_LUA_BINDINGS=ON -DWARNINGS_AS_ERRORS=OFF -DCMAKE_C_COMPILER=gcc.exe -DCMAKE_CXX_COMPILER=g++.exe -DCMAKE_MAKE_PROGRAM=mingw32-make.exe -DGLEW_INCLUDE_DIR=%GLEW_INCLUDE_DIR% -DGLEW_LIBRARIES=%GLEW_LIBRARIES% ..
set CHERE_INVOKING=yes
set MSYSTEM=MINGW64
build_script:
- cmd: |-
C:\msys64\usr\bin\bash -lc "mingw32-make.exe -j4"
after_build:
- cmd: |-
ls {*.exe,*.dll} -s -h -X
artifacts:
- path: RmlUi-*.zip
deploy:
release: RmlUi $(APPVEYOR_REPO_TAG_NAME)
description: 'Release description'
provider: GitHub
auth_token:
secure: YN5NBflQ6G3yLsNYRPTjgz5vXqaZeIstxzRx4XqC8VVOUKL/TY2JOdxNQKTZOwLM
artifact: /.*\.zip/
draft: true
prerelease: false
on:
APPVEYOR_REPO_TAG: true