1# Copyright 2016, 2017 Peter Dimov 2# Copyright 2018-2019 Andrey Semashev 3# Distributed under the Boost Software License, Version 1.0. 4# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt) 5 6version: 1.0.{build}-{branch} 7 8shallow_clone: true 9 10branches: 11 only: 12 - master 13 - develop 14 - /feature\/.*/ 15 16environment: 17 matrix: 18# AppVeyor doesn't provide 64-bit compilers for these MSVC versions 19# - TOOLSET: msvc-9.0 20# ADDRESS_MODEL: 64 21# B2_ARGS: instruction-set=core2 22# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 23# - TOOLSET: msvc-10.0 24# ADDRESS_MODEL: 64 25# B2_ARGS: instruction-set=core2 26# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 27# - TOOLSET: msvc-11.0 28# ADDRESS_MODEL: 64 29# B2_ARGS: instruction-set=core2 30# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 31 - TOOLSET: msvc-12.0 32 ADDRESS_MODEL: 64 33 B2_ARGS: instruction-set=core2 34 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 35 - TOOLSET: msvc-14.0 36 ADDRESS_MODEL: 64 37 B2_ARGS: instruction-set=core2 38 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 39 - TOOLSET: msvc-14.1 40 ADDRESS_MODEL: 64 41 CXXSTD: 14,17 42 B2_ARGS: instruction-set=core2 43 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 44 - TOOLSET: msvc-14.2 45 ADDRESS_MODEL: 64 46 CXXSTD: 14,17 47 B2_ARGS: instruction-set=core2 48 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 49 - TOOLSET: clang-win 50 ADDRESS_MODEL: 64 51 CXXSTD: 14,17 52 B2_ARGS: instruction-set=core2 cxxflags="-mcx16" 53 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 54 - TOOLSET: gcc 55 ADDRESS_MODEL: 64 56 CXXSTD: 03,11,03-gnu,11-gnu 57 ADDPATH: C:\cygwin64\bin 58 B2_ARGS: instruction-set=core2 59 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 60 - TOOLSET: gcc 61 ADDRESS_MODEL: 64 62 CXXSTD: 03,11,14,03-gnu,11-gnu,14-gnu 63 ADDPATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin 64 B2_ARGS: instruction-set=core2 65 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 66 - TOOLSET: gcc 67 ADDRESS_MODEL: 64 68 CXXSTD: 03,11,14,17,03-gnu,11-gnu,14-gnu,17-gnu 69 ADDPATH: C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64\bin 70 B2_ARGS: instruction-set=core2 71 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 72 73 - TOOLSET: msvc-9.0 74 ADDRESS_MODEL: 32 75 B2_ARGS: instruction-set=core2 76 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 77 - TOOLSET: msvc-10.0 78 ADDRESS_MODEL: 32 79 B2_ARGS: instruction-set=core2 80 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 81 - TOOLSET: msvc-11.0 82 ADDRESS_MODEL: 32 83 B2_ARGS: instruction-set=core2 84 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 85 - TOOLSET: msvc-12.0 86 ADDRESS_MODEL: 32 87 B2_ARGS: instruction-set=core2 88 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 89 - TOOLSET: msvc-14.0 90 ADDRESS_MODEL: 32 91 B2_ARGS: instruction-set=core2 92 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 93 - TOOLSET: msvc-14.1 94 ADDRESS_MODEL: 32 95 CXXSTD: 14,17 96 B2_ARGS: instruction-set=core2 97 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 98 - TOOLSET: msvc-14.2 99 ADDRESS_MODEL: 32 100 CXXSTD: 14,17 101 B2_ARGS: instruction-set=core2 102 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 103 - TOOLSET: clang-win 104 ADDRESS_MODEL: 32 105 CXXSTD: 14,17 106 B2_ARGS: instruction-set=core2 107 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 108 - TOOLSET: gcc 109 ADDRESS_MODEL: 32 110 CXXSTD: 03,11,03-gnu,11-gnu 111 ADDPATH: C:\cygwin\bin 112 B2_ARGS: instruction-set=core2 113 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 114 - TOOLSET: gcc 115 ADDRESS_MODEL: 32 116 CXXSTD: 03,11,03-gnu,11-gnu 117 ADDPATH: C:\mingw\bin 118 B2_ARGS: instruction-set=core2 119 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 120 - TOOLSET: gcc 121 ADDRESS_MODEL: 32 122 CXXSTD: 03,11,14,03-gnu,11-gnu,14-gnu 123 ADDPATH: C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin 124 B2_ARGS: instruction-set=core2 125 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 126 - TEST_CMAKE: 1 127 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 128 129install: 130 - set GIT_FETCH_JOBS=8 131 - set BOOST_BRANCH=develop 132 - if "%APPVEYOR_REPO_BRANCH%" == "master" set BOOST_BRANCH=master 133 - cd .. 134 - git clone -b %BOOST_BRANCH% https://github.com/boostorg/boost.git boost-root 135 - cd boost-root 136 - git submodule init tools/boostdep 137 - git submodule init tools/build 138 - git submodule init tools/boost_install 139 - git submodule init libs/headers 140 - git submodule init libs/config 141 - git submodule update --jobs %GIT_FETCH_JOBS% 142 - xcopy /s /e /q %APPVEYOR_BUILD_FOLDER% libs\atomic 143 - python tools/boostdep/depinst/depinst.py --git_args "--jobs %GIT_FETCH_JOBS%" atomic 144 - cmd /c bootstrap 145 - b2 headers 146 147build: off 148 149test_script: 150 - PATH=%ADDPATH%;%PATH% 151 - if not "%CXXSTD%" == "" set CXXSTD=cxxstd=%CXXSTD% 152 - b2 -j %NUMBER_OF_PROCESSORS% libs/atomic/test variant=release toolset=%TOOLSET% address-model=%ADDRESS_MODEL% %CXXSTD% %B2_ARGS% 153 154for: 155 - matrix: 156 only: [TEST_CMAKE: 1] 157 test_script: 158 - mkdir __build_static__ 159 - cd __build_static__ 160 - cmake ../libs/atomic/test/test_cmake 161 - cmake --build . --target boost_atomic_cmake_self_test -j %NUMBER_OF_PROCESSORS% 162 - cd .. 163 - mkdir __build_shared__ 164 - cd __build_shared__ 165 - cmake -DBUILD_SHARED_LIBS=On ../libs/atomic/test/test_cmake 166 - cmake --build . --target boost_atomic_cmake_self_test -j %NUMBER_OF_PROCESSORS% 167