2018-05-04 04:07:32 -05:00
|
|
|
version: 'build #{build}'
|
|
|
|
|
|
|
|
environment:
|
|
|
|
matrix:
|
2019-04-07 17:15:45 -05:00
|
|
|
- arch: 386
|
|
|
|
libtype: shared
|
|
|
|
libfiles: libui.dll libui.lib
|
2018-05-15 03:51:05 -05:00
|
|
|
compiler: msvc2013
|
2018-05-04 04:07:32 -05:00
|
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
|
2019-04-07 17:15:45 -05:00
|
|
|
- arch: 386
|
|
|
|
libtype: static
|
|
|
|
libfiles: libui.lib
|
2018-05-15 03:51:05 -05:00
|
|
|
compiler: msvc2013
|
2018-05-04 04:07:32 -05:00
|
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
|
2019-04-07 17:15:45 -05:00
|
|
|
- arch: amd64
|
|
|
|
libtype: shared
|
|
|
|
libfiles: libui.dll libui.lib
|
|
|
|
compiler: msvc2013
|
|
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
|
|
|
|
- arch: amd64
|
|
|
|
libtype: static
|
|
|
|
libfiles: libui.lib
|
|
|
|
compiler: msvc2013
|
|
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
|
|
|
|
- arch: 386
|
|
|
|
libtype: static
|
|
|
|
libfiles: libui.lib
|
|
|
|
compiler: mingw
|
2018-05-04 04:07:32 -05:00
|
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
2019-04-07 17:15:45 -05:00
|
|
|
- arch: amd64
|
|
|
|
libtype: static
|
|
|
|
libfiles: libui.lib
|
2018-05-15 03:51:05 -05:00
|
|
|
compiler: mingw
|
2018-05-04 04:07:32 -05:00
|
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
|
|
|
|
2018-05-15 03:51:05 -05:00
|
|
|
platform:
|
|
|
|
- x64
|
2018-05-04 04:07:32 -05:00
|
|
|
|
|
|
|
before_build:
|
2019-04-07 17:15:45 -05:00
|
|
|
- cmd: |
|
|
|
|
rem Set Python Version
|
|
|
|
if %arch%==386 (
|
|
|
|
set PYTHON_ROOT=C:\python37
|
|
|
|
) else (
|
|
|
|
set PYTHON_ROOT=C:\python37-x64
|
|
|
|
)
|
|
|
|
set "PATH=%PYTHON_ROOT%;%PYTHON_ROOT%\Scripts;%PATH%"
|
|
|
|
|
|
|
|
rem Install Latest Meson
|
|
|
|
pip install meson
|
|
|
|
|
|
|
|
rem Install Ninja
|
|
|
|
powershell -Command "Invoke-WebRequest https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja-win.zip -OutFile C:\ninja-win.zip"
|
|
|
|
mkdir C:\ninja
|
|
|
|
powershell -Command "Expand-Archive -LiteralPath C:\ninja-win.zip -DestinationPath C:\ninja"
|
|
|
|
set "PATH=C:\ninja;%PATH%"
|
2018-05-04 04:07:32 -05:00
|
|
|
|
|
|
|
build_script:
|
2019-04-07 17:15:45 -05:00
|
|
|
- cmd: |
|
|
|
|
if %compiler%==mingw-Win32 (
|
|
|
|
if %arch%==386 (
|
|
|
|
set "PATH=C:\msys64\mingw32\bin;%PATH%"
|
|
|
|
) else (
|
|
|
|
set "PATH=C:\msys64\mingw64\bin;%PATH%"
|
|
|
|
)
|
|
|
|
) else (
|
|
|
|
if %arch%==386 (
|
|
|
|
call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86
|
|
|
|
) else (
|
|
|
|
call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" amd64
|
|
|
|
)
|
|
|
|
)
|
|
|
|
meson setup build --buildtype=release --default-library=%libtype%
|
|
|
|
ninja -C build
|
2018-05-04 04:07:32 -05:00
|
|
|
|
|
|
|
after_build:
|
2019-04-07 17:15:45 -05:00
|
|
|
- cmd: |
|
|
|
|
if %APPVEYOR_REPO_TAG%==true (
|
|
|
|
set "version=%APPVEYOR_REPO_TAG_NAME%"
|
|
|
|
) else (
|
|
|
|
set "version=%APPVEYOR_REPO_BRANCH%"
|
|
|
|
)
|
2019-04-07 17:17:10 -05:00
|
|
|
set "artifact=%version%-windows-%arch%-%compiler%-%libtype%"
|
2019-04-07 17:15:45 -05:00
|
|
|
pushd build\meson-out
|
|
|
|
if %buildtype%==static (
|
|
|
|
rem TODO msvc only?
|
|
|
|
ren libui.a libui.lib
|
|
|
|
)
|
|
|
|
copy ..\..\ui.h .
|
|
|
|
copy ..\..\ui_windows.h .
|
|
|
|
rem remove unnecessary files
|
|
|
|
rem TODO should we do this on Azure too?
|
|
|
|
del libui.exp
|
|
|
|
7z a "%APPVEYOR_BUILD_FOLDER%\libui-%artifact%.zip" %libfiles% ui.h ui_windows.h
|
|
|
|
7z a "%APPVEYOR_BUILD_FOLDER%\examples-%artifact%.zip" *.exe
|
|
|
|
popd
|
2018-05-15 07:10:20 -05:00
|
|
|
|
|
|
|
artifacts:
|
|
|
|
- path: libui-*.zip
|
|
|
|
name: libui
|
|
|
|
- path: examples-*.zip
|
|
|
|
name: examples
|
|
|
|
|
|
|
|
deploy:
|
|
|
|
provider: GitHub
|
|
|
|
artifact: libui, examples
|
2018-08-10 19:11:15 -05:00
|
|
|
auth_token:
|
|
|
|
secure: li92W7mFAC8HbAVeZN6Ugmo5H1GzKSjr6DXlMniLcCRspKmi2Nz1nlslSa+9sLfo
|
2018-05-15 07:10:20 -05:00
|
|
|
on:
|
|
|
|
appveyor_repo_tag: true # deploy on tag push only
|