diff --git a/appveyor.yml b/appveyor.yml index 434186f..69f8d2a 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,126 +1,63 @@ -# Copyright 2016, 2017 Peter Dimov -# Copyright (C) 2017, 2018 James E. King III +# Copyright 2016-2018 Peter Dimov # 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) -# -# Generic Appveyor build script for boostorg repositories -# See: https://github.com/jeking3/boost-ci/ -# -# Instructions for customizing this script for your library: -# -# 1. Customize the compilers and language levels you want. -# 2. If you have move than include/, src/, test/, example/, examples/, -# benchmark/ or tools/ directories, set the environment variable DEPINST. -# For example if your build uses code in "bench/" and "fog/" directories: -# - DEPINST: --include bench --include fog -# 3. Enable pull request builds in your boostorg/ account. -# -# That's it - the script will do everything else for you. -# - version: 1.0.{build}-{branch} shallow_clone: true branches: only: - - develop - master - -matrix: - # Adding MAYFAIL to any matrix job allows it to fail but the build stays green: - allow_failures: - - MAYFAIL: true + - develop + - /feature\/.*/ environment: - global: - # see: http://www.boost.org/build/doc/html/bbv2/overview/invocation.html#bbv2.overview.invocation.properties - # to use the default for a given environment, comment it out; recommend you build debug and release however: - # on Windows it is important to exercise all the possibilities, especially shared vs static, however most - # libraries that care about this exercise it in their Jamfiles... - # B2_ADDRESS_MODEL: address-model=64,32 - # B2_LINK: link=shared,static - # B2_THREADING: threading=multi,single - B2_VARIANT: variant=release,debug - matrix: - - FLAVOR: Visual Studio 2017 C++2a Strict - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - TOOLSET: msvc-14.1 - B2_ADDRESS_MODEL: address-model=64 - CXXFLAGS: cxxflags=-permissive- - CXXSTD: latest # 2a - - - FLAVOR: Visual Studio 2017 C++17 - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - TOOLSET: msvc-14.1 - B2_ADDRESS_MODEL: address-model=64 - CXXSTD: 17 - - - FLAVOR: Visual Studio 2017 C++14 (Default) - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - TOOLSET: msvc-14.1 - B2_ADDRESS_MODEL: address-model=64,32 - - - FLAVOR: Visual Studio 2015 C++14 (Default) - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013 + TOOLSET: msvc-9.0,msvc-10.0,msvc-11.0,msvc-12.0 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 TOOLSET: msvc-14.0 - B2_ADDRESS_MODEL: address-model=64,32 - - - FLAVOR: Visual Studio 2010, 2012, 2013 - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013 - TOOLSET: msvc-10.0,msvc-11.0,msvc-12.0 - - - FLAVOR: cygwin (32-bit) - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + ADDRMD: 32,64 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + TOOLSET: msvc-14.1 + CXXSTD: 14,17 + ADDRMD: 32,64 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013 ADDPATH: C:\cygwin\bin; - B2_ADDRESS_MODEL: address-model=32 - CXXSTD: 03,11 - # https://github.com/boostorg/test/issues/144 - DEFINES: define=_POSIX_C_SOURCE=200112L - THREADING: threadapi=pthread TOOLSET: gcc - - - FLAVOR: cygwin (64-bit) - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + CXXSTD: 03,11,14,1z + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013 ADDPATH: C:\cygwin64\bin; - B2_ADDRESS_MODEL: address-model=64 - CXXSTD: 11,17 - # https://github.com/boostorg/test/issues/144 - DEFINES: define=_POSIX_C_SOURCE=200112L define=__USE_ISOC99 - THREADING: threadapi=pthread TOOLSET: gcc - - - FLAVOR: mingw32 - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - ARCH: i686 - B2_ADDRESS_MODEL: address-model=32 - CXXSTD: 03,11 - SCRIPT: ci\appveyor\mingw.bat - - - FLAVOR: mingw64 - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - ARCH: x86_64 - B2_ADDRESS_MODEL: address-model=64 - CXXSTD: 11,17 - DEFINES: define=__USE_ISOC99 - SCRIPT: ci\appveyor\mingw.bat + CXXSTD: 03,11,14,1z + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013 + ADDPATH: C:\mingw\bin; + TOOLSET: gcc + CXXSTD: 03,11,14,1z + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013 + ADDPATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin; + TOOLSET: gcc + CXXSTD: 03,11,14,1z install: - - set SELF=%APPVEYOR_PROJECT_NAME:-=_% - - git clone https://github.com/jeking3/boost-ci.git C:\boost-ci - - xcopy /s /e /q /i C:\boost-ci\ci .\ci - - ci\appveyor\install.bat + - set BOOST_BRANCH=develop + - if "%APPVEYOR_REPO_BRANCH%" == "master" set BOOST_BRANCH=master + - cd .. + - git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root + - cd boost-root + - git submodule update --init tools/build + - git submodule update --init libs/config + - git submodule update --init tools/boostdep + - xcopy /s /e /q %APPVEYOR_BUILD_FOLDER% libs\function + - python tools/boostdep/depinst/depinst.py function + - cmd /c bootstrap + - b2 -d0 headers build: off test_script: - - set SELF=%APPVEYOR_PROJECT_NAME:-=_% - PATH=%ADDPATH%%PATH% - # The definition of TOOLCXX omits CXXSTD= if it was not defined above - - IF NOT DEFINED CXXSTD (SET TOOLCXX=toolset=%TOOLSET%) ELSE (SET TOOLCXX=toolset=%TOOLSET% cxxstd=%CXXSTD%) - # Echo the complete build command to the build log - - IF NOT DEFINED SCRIPT (ECHO b2 libs/%SELF:\=/% %TOOLCXX% %CXXFLAGS% %DEFINES% %THREADING% %B2_ADDRESS_MODEL% %B2_LINK% %B2_THREADING% %B2_VARIANT% -j3) - # Now go build... - - IF DEFINED SCRIPT (call libs\%SELF%\%SCRIPT%) ELSE (b2 libs/%SELF:\=/% %TOOLCXX% %CXXFLAGS% %DEFINES% %THREADING% %B2_ADDRESS_MODEL% %B2_LINK% %B2_THREADING% %B2_VARIANT% -j3) + - if not "%CXXSTD%" == "" set CXXSTD=cxxstd=%CXXSTD% + - if not "%ADDRMD%" == "" set ADDRMD=address-model=%ADDRMD% + - b2 -j3 libs/function/test toolset=%TOOLSET% %CXXSTD% %ADDRMD% variant=debug,release