gil/.appveyor.yml
Mateusz Łoskot 9dc67eae1d
Add test to verify headers are self-contained
For each header, a translation unit is generated along with
corresponding compile target.
Currently, only boost/gil/*.hpp and boost/gil/io/* headres are included.

On CI services, compile self_contained_headers targets only if
TEST_HEADERS environment variable is set. This is to avoid build
timeouts due to CI services limits.
When running b2 locally, the tests are compiled by default.
2018-10-05 18:11:08 +02:00

162 lines
6.9 KiB
YAML

# AppVeyor for Boost.GIL
#
# Copyright 2016, 2017 Peter Dimov
# Copyright 2018 Mateusz Loskot <mateusz at loskot dot net>
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
#
version: 1.0.{build}-{branch}
# Current Boost.GIL develop branch (future Boost 1.68) requires C++11
# Since VS2017, MSVC default is /std:c++14, so no explicit switch is required.
image: Visual Studio 2017
platform: x64
shallow_clone: true
environment:
matrix:
- TOOLSET: msvc-14.1
ARCH: x86_64
VARIANT: debug
TEST_HEADERS: 1
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
- TOOLSET: msvc-14.1
ARCH: x86_64
VARIANT: release
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
- TOOLSET: msvc-14.1
ARCH: x86
VARIANT: debug
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
- TOOLSET: msvc-14.1
ARCH: x86
VARIANT: release
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
- TOOLSET: msvc-14.1
ARCH: x86_64
VARIANT: debug
GENERATOR: "Visual Studio 15 2017 Win64"
CMAKE_CONFIG: Debug
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
APPVEYOR_SAVE_CACHE_ON_ERROR: true
matrix:
fast_finish: true
allow_failures:
- TOOLSET: msvc-14.1
ARCH: x86_64
VARIANT: release
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
- TOOLSET: msvc-14.1
ARCH: x86
VARIANT: release
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
- TOOLSET: msvc-14.1
ARCH: x86_64
VARIANT: debug
GENERATOR: "Visual Studio 15 2017 Win64"
CMAKE_CONFIG: Debug
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
APPVEYOR_SAVE_CACHE_ON_ERROR: true
cache:
- c:\tools\vcpkg\installed\
install:
# FIXME: To be removed https://help.appveyor.com/discussions/problems/13000-cmake_toolchain_filevcpkgcmake-conflicts-with-cmake-native-findboostcmake"
- ps: 'Write-Host "Installing latest vcpkg.cmake module" -ForegroundColor Magenta'
- appveyor DownloadFile https://raw.githubusercontent.com/Microsoft/vcpkg/master/scripts/buildsystems/vcpkg.cmake -FileName "c:\tools\vcpkg\scripts\buildsystems\vcpkg.cmake"
- if %ARCH% == x86 ( set "TRIPLET=x86-windows" ) else ( set "TRIPLET=x64-windows" )
- if %ARCH% == x86 ( set AM=32 ) else ( set AM=64 )
- vcpkg --triplet %TRIPLET% install libjpeg-turbo libpng tiff
- if NOT DEFINED GENERATOR set PATH=c:\Tools\vcpkg\installed\%TRIPLET%\bin;%PATH%
- if NOT DEFINED GENERATOR set VCPKG_I=C:\Tools\vcpkg\installed\%TRIPLET%\include
- if NOT DEFINED GENERATOR set VCPKG_L=C:\Tools\vcpkg\installed\%TRIPLET%\lib
- if NOT DEFINED GENERATOR set LIBPNG_NAME=libpng16
before_build:
- git clone --quiet -b develop --depth 1 https://github.com/boostorg/boost.git c:\projects\boost
- cd c:\projects\boost
# List all (recursive) dependencies explicitly to control any new additions
- git submodule --quiet update --init tools/build
- git submodule --quiet update --init tools/boostdep
## Direct
- git submodule --quiet update --init libs/algorithm
- git submodule --quiet update --init libs/array
- git submodule --quiet update --init libs/bind
- git submodule --quiet update --init libs/concept_check
- git submodule --quiet update --init libs/config
- git submodule --quiet update --init libs/core
- git submodule --quiet update --init libs/crc
- git submodule --quiet update --init libs/filesystem
- git submodule --quiet update --init libs/function
- git submodule --quiet update --init libs/integer
- git submodule --quiet update --init libs/iterator
- git submodule --quiet update --init libs/lambda
- git submodule --quiet update --init libs/lexical_cast
- git submodule --quiet update --init libs/mpl
- git submodule --quiet update --init libs/numeric/conversion
- git submodule --quiet update --init libs/preprocessor
- git submodule --quiet update --init libs/smart_ptr
- git submodule --quiet update --init libs/static_assert
- git submodule --quiet update --init libs/test
- git submodule --quiet update --init libs/type_traits
## Transitive
- git submodule --quiet update --init libs/assert
- git submodule --quiet update --init libs/atomic
- git submodule --quiet update --init libs/chrono
- git submodule --quiet update --init libs/container
- git submodule --quiet update --init libs/container_hash
- git submodule --quiet update --init libs/conversion
- git submodule --quiet update --init libs/detail
- git submodule --quiet update --init libs/exception
- git submodule --quiet update --init libs/function_types
- git submodule --quiet update --init libs/fusion
- git submodule --quiet update --init libs/intrusive
- git submodule --quiet update --init libs/io
- git submodule --quiet update --init libs/math
- git submodule --quiet update --init libs/move
- git submodule --quiet update --init libs/optional
- git submodule --quiet update --init libs/predef
- git submodule --quiet update --init libs/range
- git submodule --quiet update --init libs/ratio
- git submodule --quiet update --init libs/rational
- git submodule --quiet update --init libs/regex
- git submodule --quiet update --init libs/system
- git submodule --quiet update --init libs/throw_exception
- git submodule --quiet update --init libs/timer
- git submodule --quiet update --init libs/tuple
- git submodule --quiet update --init libs/type_index
- git submodule --quiet update --init libs/typeof
- git submodule --quiet update --init libs/unordered
- git submodule --quiet update --init libs/utility
- git submodule --quiet update --init libs/winapi
- xcopy /s /e /q %APPVEYOR_BUILD_FOLDER% libs\gil
- cmd /c bootstrap
- .\b2 headers
- if DEFINED GENERATOR .\b2 address-model=%AM% toolset=%TOOLSET% variant=%VARIANT% --with-filesystem --with-test stage
build: off
build_script:
- cd c:\projects\boost
- if NOT DEFINED GENERATOR b2 address-model=%AM% toolset=%TOOLSET% variant=%VARIANT% libs/gil/test
- if NOT DEFINED GENERATOR b2 address-model=%AM% toolset=%TOOLSET% variant=%VARIANT% libs/gil/toolbox/test
- if NOT DEFINED GENERATOR b2 address-model=%AM% toolset=%TOOLSET% variant=%VARIANT% libs/gil/numeric/test
- if NOT DEFINED GENERATOR b2 address-model=%AM% toolset=%TOOLSET% variant=%VARIANT% include=%VCPKG_I% library-path=%VCPKG_L% libs/gil/io/test//simple
- if DEFINED GENERATOR cd libs\gil && md build && cd build
- if DEFINED GENERATOR cmake -G "%GENERATOR%" -DBoost_DETAILED_FAILURE_MSG=ON -DCMAKE_TOOLCHAIN_FILE=c:/tools/vcpkg/scripts/buildsystems/vcpkg.cmake ..
- if DEFINED GENERATOR cmake --build . --config %CMAKE_CONFIG %
test_script:
- if DEFINED GENERATOR ctest -V --output-on-failure -C %VARIANT%
notifications:
- provider: Webhook
url: https://webhooks.gitter.im/e/e9e4892cdeb7cbff2e5a
on_build_success: false
on_build_failure: true
on_build_status_changed: true