• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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