2018-09-28 13:27:38 +08:00
# # # # sol3
2017-12-20 17:58:32 +08:00
# The MIT License (MIT)
#
2019-03-13 17:18:06 +08:00
# Copyright (c) 2013-2019 Rapptz, ThePhD, and contributors
2017-12-20 17:58:32 +08:00
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of
# this software and associated documentation files (the "Software"), to deal in
# the Software without restriction, including without limitation the rights to
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
# the Software, and to permit persons to whom the Software is furnished to do so,
# subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2018-04-18 08:08:07 +08:00
version : 2.20 .0 -{build}
2017-12-20 17:58:32 +08:00
2017-12-26 12:27:22 +08:00
max_jobs : 4
2017-12-20 17:58:32 +08:00
pull_requests :
do_not_increment_build_number : true
2017-12-27 06:46:01 +08:00
# Ordering is important!
# specifying VS 2015 first makes all the 2015 jobs run first
# we need this so the MinGW jobs can run first
# In general, the matrix seems to order by appearance of first-order
# dimensions (Image, Platform, Configuration) and then
# the order of whatever elements are in the matrix
image :
- Visual Studio 2015
- Visual Studio 2017
# Run x64 first, x86 second
platform :
- x64
- x86
2017-12-24 09:34:34 +08:00
environment :
2017-12-24 10:18:52 +08:00
matrix :
2017-12-27 04:37:41 +08:00
# apparently, I can't quite make LLVM work right now...
2018-12-24 02:18:14 +08:00
- LUA_VERSION : 5.3 .5
2019-03-23 04:28:17 +08:00
MINGW_VERSION : 7.3 .0
2018-12-24 02:18:14 +08:00
- LUA_VERSION : 5.3 .5
2019-03-23 04:28:17 +08:00
MINGW_VERSION : 8.1 .0
2018-01-20 04:03:22 +08:00
- LUA_VERSION : luajit-2.0.5
2019-03-23 04:28:17 +08:00
MINGW_VERSION : 8.1 .0
2018-01-20 04:03:22 +08:00
- LUA_VERSION : luajit-2.1.0-beta3
2019-03-23 04:28:17 +08:00
MINGW_VERSION : 8.1 .0
2018-12-24 02:18:14 +08:00
- LUA_VERSION : 5.3 .5
2017-12-26 12:27:22 +08:00
- LUA_VERSION : 5.2 .4
- LUA_VERSION : 5.1 .5
2018-02-17 13:18:26 +08:00
- LUA_VERSION : luajit-2.0.5
- LUA_VERSION : luajit-2.1.0-beta3
2017-12-20 17:58:32 +08:00
2017-12-26 00:44:04 +08:00
matrix :
allow_failures :
2017-12-26 12:27:22 +08:00
# 32-bit builds are temperamental with exceptions
- platform : x86
2017-12-26 00:44:04 +08:00
exclude :
2017-12-26 14:11:09 +08:00
# Necessary: MinGW doesn't exist on VS 2017 images
- image : Visual Studio 2017
2019-03-23 04:28:17 +08:00
MINGW_VERSION : 7.3 .0
- image : Visual Studio 2017
MINGW_VERSION : 8.1 .0
# There are no recent i686 compilers on the VS2015/2017 images
- MINGW_VERSION : 7.3 .0
platform : x86
- MINGW_VERSION : 8.1 .0
platform : x86
# Get rid of x86 builds for non-latest (no reason to redo that work)
2017-12-26 09:18:29 +08:00
- platform : x86
LUA_VERSION : 5.2 .4
- platform : x86
LUA_VERSION : 5.1 .5
2017-12-26 00:44:04 +08:00
2017-12-20 17:58:32 +08:00
init :
2017-12-27 06:54:46 +08:00
# # Ninja
2017-12-26 09:18:29 +08:00
# make sure we have Ninja
2017-12-26 09:24:26 +08:00
- set top_level=%cd%
- cd ..
2017-12-26 09:18:29 +08:00
- md tools
- cd tools
2017-12-27 06:56:50 +08:00
- set ninja_path=%cd%\ninja
2017-12-26 09:18:29 +08:00
- set NINJA_URL="https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-win.zip"
- appveyor DownloadFile %NINJA_URL% -FileName ninja.zip
- 7z x ninja.zip -o%cd%\ninja
2017-12-26 09:24:26 +08:00
- cd "%top_level%"
2017-12-27 06:54:46 +08:00
# # PATH
# manipulations to manupulations need to be done here
- set python_path=C:\Python36
- set mingw_path=
- set llvm_path=
2019-03-23 04:28:17 +08:00
- if "%MINGW_VERSION%"=="7.3.0" (if "%PLATFORM%"=="x64" (set mingw_path=C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev1\mingw64\bin) else ( set mingw_path=C:\mingw-w64\i686-7.3.0-posix-seh-rt_v5-rev1\mingw32\bin))
- if "%MINGW_VERSION%"=="8.1.0" (if "%PLATFORM%"=="x64" (set mingw_path=C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v5-rev1\mingw64\bin) else ( set mingw_path=C:\mingw-w64\i686-8.1.0-posix-seh-rt_v5-rev1\mingw32\bin))
2017-12-27 06:54:46 +08:00
- if "%PLATFORM%"=="x64" (set python_path=C:\Python36-x64)
2017-12-27 06:59:02 +08:00
- set PATH=%python_path%;%PATH%
2017-12-27 06:54:46 +08:00
- set PATH=%mingw_path%;%PATH%
- set PATH=%llvm_path%;%PATH%
2017-12-27 06:56:50 +08:00
- set PATH=%ninja_path%;%PATH%
2017-12-27 06:54:46 +08:00
- echo PATH=%PATH%
# # Generators and CMake arguments
# configure the generator appropriately
2017-12-20 17:58:32 +08:00
- set arch=
2017-12-27 06:27:22 +08:00
- set parallelism=
- set logger=
2017-12-27 07:06:29 +08:00
- set build_compiler=
2018-02-12 16:55:14 +08:00
- set lua_build_type=OFF
2017-12-27 10:05:27 +08:00
- set vcvars_script="C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
2017-12-24 09:34:34 +08:00
- if "%PLATFORM%"=="x64" (set arch= Win64)
2017-12-27 10:05:27 +08:00
- if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2017" (set CMAKE_GENERATOR=Visual Studio 15 2017%arch%&&set parallelism=/maxcpucount&&set logger=/verbosity:quiet /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"&&set vcvars_script="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat")
2017-12-27 09:49:07 +08:00
- if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2015" (set CMAKE_GENERATOR=Visual Studio 14 2015%arch%&&set parallelism=/maxcpucount&&set logger=/verbosity:quiet /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll")
2019-03-23 04:28:17 +08:00
- if "%MINGW_VERSION%"=="7.3.0" (set CMAKE_GENERATOR=Ninja&&set parallelism= &&set logger= &&set build_compiler=-DCMAKE_CXX_COMPILER=g++.exe -DCMAKE_C_COMPILER=gcc.exe)
- if "%MINGW_VERSION%"=="8.1.0" (set CMAKE_GENERATOR=Ninja&&set parallelism= &&set logger= &&set build_compiler=-DCMAKE_CXX_COMPILER=g++.exe -DCMAKE_C_COMPILER=gcc.exe)
2017-12-27 06:54:46 +08:00
# # Last printouts
# print out generator information
2017-12-27 09:54:53 +08:00
- echo Appveyor Image is %APPVEYOR_BUILD_WORKER_IMAGE% (vcvars script is %vcvars_script%)
2019-03-23 04:28:17 +08:00
- echo cmake generator is %CMAKE_GENERATOR% using build_compiler=%build_compiler% with special flags logger=%logger% parallelism=%parallelism%
2017-12-27 06:54:46 +08:00
# print out useful tool information
2017-12-26 09:18:29 +08:00
- ninja --version
- cmake --version
2017-12-20 17:58:32 +08:00
before_build :
2017-12-24 09:34:34 +08:00
- md build-sol2
2019-03-23 04:28:17 +08:00
- md buid-sol2\Debug
- md buid-sol2\Release
2017-12-24 09:34:34 +08:00
- cd build-sol2
2019-03-23 04:28:17 +08:00
- if not defined %MINGW_VERSION% (cmake .. -G "%CMAKE_GENERATOR%" %build_compiler% -DSOL2_LUA_VERSION="%LUA_VERSION%" -DSOL2_CI=ON -DSOL2_BUILD_LUA=ON -DBUILD_LUA_AS_DLL=%lua_build_type% -DSOL2_TESTS=ON -DSOL2_EXAMPLES=ON -DSOL2_GENERATE_SINGLE=ON -DSOL2_TESTS_EXAMPLES=ON -DSOL2_EXAMPLES_SINGLE_GENERATED=ON -DSOL2_TESTS_SINGLE_GENERATED=ON)
- if defined %MINGW_VERSION% (cmake ..\.. -G "%CMAKE_GENERATOR%" %build_compiler% -DSOL2_LUA_VERSION="%LUA_VERSION%" -DSOL2_CI=ON -DSOL2_BUILD_LUA=ON -DBUILD_LUA_AS_DLL=%lua_build_type% -DSOL2_TESTS=ON -DSOL2_EXAMPLES=ON -DSOL2_GENERATE_SINGLE=ON -DSOL2_TESTS_EXAMPLES=ON -DSOL2_EXAMPLES_SINGLE_GENERATED=ON -DSOL2_TESTS_SINGLE_GENERATED=ON)
- if defined %MINGW_VERSION% (cmake ..\.. -G "%CMAKE_GENERATOR%" %build_compiler% -DSOL2_LUA_VERSION="%LUA_VERSION%" -DSOL2_CI=ON -DSOL2_BUILD_LUA=ON -DBUILD_LUA_AS_DLL=%lua_build_type% -DSOL2_TESTS=ON -DSOL2_EXAMPLES=ON -DSOL2_GENERATE_SINGLE=ON -DSOL2_TESTS_EXAMPLES=ON -DSOL2_EXAMPLES_SINGLE_GENERATED=ON -DSOL2_TESTS_SINGLE_GENERATED=ON)
2017-12-20 17:58:32 +08:00
2017-12-26 00:44:04 +08:00
# We do not build the debug versions because the compiler
# generates too much debug info for MinGW to handle
2017-12-24 10:36:31 +08:00
build_script :
2019-03-23 04:28:17 +08:00
- cmake --build . --config Debug -- %parallelism% %logger%
2017-12-26 21:04:54 +08:00
- cmake --build . --config Release -- %parallelism% %logger%
2017-12-24 09:34:34 +08:00
test_script :
2019-03-23 04:28:17 +08:00
- ctest -C Debug --output-on-failure
2017-12-24 16:24:07 +08:00
- ctest -C Release --output-on-failure
2017-12-24 10:18:52 +08:00
notifications :
- provider : Webhook
2019-03-23 04:28:17 +08:00
url : http://skyhook.glitch.me/api/webhooks/427786348108185611/y2nTmghqltv1SKX2DclEMEKyZtRcwKFlwfZpB_mL1A0nZTVS5MSfumqDKq30-gvWgeL5/appveyor
2017-12-24 10:18:52 +08:00
method : POST
2018-01-10 21:49:28 +08:00
on_build_success : true
on_build_failure : true
2017-12-25 01:32:23 +08:00
on_build_status_changed : true