• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Use, modification, and distribution are
2# subject to the Boost Software License, Version 1.0. (See accompanying
3# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
4#
5# Copyright Antony Polukhin 2016-2021.
6
7#
8# See https://svn.boost.org/trac/boost/wiki/TravisCoverals for description of this file
9# and how it can be used with Boost libraries.
10#
11# File revision #6 (with DIFF)
12
13init:
14    # boost-local/libs/ folder to put this library into. This may be useful, if you're for example running Travis
15    # from `Boost.DLL` repo while Boost already has `dll` and with to replace `dll` with content of`Boost.DLL`.
16    #
17    # Otherwise just leave the default value - set BOOST_LIBS_FOLDER=%APPVEYOR_PROJECT_NAME%
18    - set BOOST_LIBS_FOLDER=pfr # DIFF
19
20###############################################################################################################
21# From this point and below code is same for all the Boost libs
22###############################################################################################################
23
24version: 1.74.{build}-{branch}
25
26# branches to build
27branches:
28  except:
29    - gh-pages
30
31skip_tags: true
32
33environment:
34  matrix:
35#    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
36#      TOOLSET: msvc # TODO: clang-win ???
37#      ADDRMD: 32,64
38#      CXXSTD: 17,latest
39    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
40      TOOLSET: msvc # clang-win has problems with structured bindings - it can not correclty use std::tuple_size
41      ADDRMD: 32,64
42      CXXSTD: 17,latest
43    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
44      TOOLSET: msvc # clang-win has problems with structured bindings - it can not correclty use std::tuple_size
45      ADDRMD: 32,64
46      CXXSTD: 17,latest
47      CXXFLAGS: /permissive-
48    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
49      TOOLSET: msvc # clang-win has problems with structured bindings - it can not correclty use std::tuple_size
50      ADDRMD: 32,64
51    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
52      ADDPATH: C:\cygwin\bin;
53      TOOLSET: gcc
54      CXXSTD: 14,1z
55    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
56      ADDPATH: C:\cygwin64\bin;
57      TOOLSET: gcc
58      CXXSTD: 14,1z
59#    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
60#      ADDPATH: C:\mingw\bin;
61#      TOOLSET: gcc
62#      CXXSTD: 14,1z
63    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
64      ADDPATH: C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin;
65      TOOLSET: gcc
66      CXXSTD: 14,1z
67
68before_build:
69    - set BOOST_BRANCH=develop
70    - if "%APPVEYOR_REPO_BRANCH%" == "master" set BOOST_BRANCH=master
71    - echo "Testing %BOOST_LIBS_FOLDER%"
72    # Cloning Boost libraries (fast nondeep cloning)
73    - set BOOST=C:/boost-local
74    - git clone -b %BOOST_BRANCH% --depth 10 https://github.com/boostorg/boost.git %BOOST%
75    - cd %BOOST%
76    - git submodule update --init --depth 10 tools/build tools/boostdep
77
78    - echo "rm -rf %BOOST%/libs/%BOOST_LIBS_FOLDER%"
79    - rm -rf %BOOST%/libs/%BOOST_LIBS_FOLDER%
80    - mv %APPVEYOR_BUILD_FOLDER% %BOOST%/libs/%BOOST_LIBS_FOLDER%
81    - python tools/boostdep/depinst/depinst.py --git_args "--depth 10 --jobs 2" -I example -I examples %BOOST_LIBS_FOLDER%
82
83build_script:
84    - cmd /c bootstrap
85    - b2.exe headers
86    - cd %BOOST%/libs/%BOOST_LIBS_FOLDER%/test
87
88after_build:
89before_test:
90test_script:
91  - PATH=%ADDPATH%%PATH%
92  - if not "%CXXSTD%" == "" set CXXSTD=cxxstd=%CXXSTD%
93  - if not "%ADDRMD%" == "" set ADDRMD=address-model=%ADDRMD%
94  - echo "Running command ..\..\..\b2 -j3 toolset=%TOOLSET% %CXXSTD% %ADDRMD% variant=debug,release"
95  - ..\..\..\b2.exe -j3 toolset=%TOOLSET% %CXXSTD% %ADDRMD% variant=debug,release cxxflags="-DBOOST_TRAVISCI_BUILD %CXXFLAGS%"
96
97after_test:
98on_success:
99on_failure:
100on_finish:
101