mirror of
https://github.com/boostorg/range.git
synced 2026-02-07 15:35:38 +01:00
Compare commits
25 Commits
boost-1.88
...
develop
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9fb0dd1f5e | ||
|
|
cd1ea88867 | ||
|
|
ea9200416a | ||
|
|
23e09c1b06 | ||
|
|
a680ca3e85 | ||
|
|
0d565eac10 | ||
|
|
9c94196fe4 | ||
|
|
55ded212a8 | ||
|
|
33782d7cc3 | ||
|
|
11c49b2803 | ||
|
|
df2bc3704b | ||
|
|
72673a7dc4 | ||
|
|
cf7d2d2d3b | ||
|
|
6cd17cbeae | ||
|
|
1d124e8869 | ||
|
|
a377e87bfc | ||
|
|
63544b1ec6 | ||
|
|
9ac89e9936 | ||
|
|
2b6fd29168 | ||
|
|
e3ac7974f3 | ||
|
|
c31588ed06 | ||
|
|
6a13721e44 | ||
|
|
422c4d9b42 | ||
|
|
a9c1add21c | ||
|
|
048e860e59 |
668
.github/workflows/ci.yml
vendored
Normal file
668
.github/workflows/ci.yml
vendored
Normal file
@@ -0,0 +1,668 @@
|
||||
name: CI
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- develop
|
||||
- feature/**
|
||||
|
||||
env:
|
||||
UBSAN_OPTIONS: print_stacktrace=1
|
||||
|
||||
jobs:
|
||||
posix:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- toolset: gcc-4.8
|
||||
cxxstd: "11"
|
||||
container: ubuntu:18.04
|
||||
os: ubuntu-latest
|
||||
install: g++-4.8-multilib
|
||||
address-model: 32,64
|
||||
- toolset: gcc-4.9
|
||||
cxxstd: "11"
|
||||
container: ubuntu:16.04
|
||||
os: ubuntu-latest
|
||||
install: g++-4.9-multilib
|
||||
address-model: 32,64
|
||||
- toolset: gcc-5
|
||||
cxxstd: "11,14,1z"
|
||||
container: ubuntu:18.04
|
||||
os: ubuntu-latest
|
||||
install: g++-5-multilib
|
||||
address-model: 32,64
|
||||
- toolset: gcc-6
|
||||
cxxstd: "11,14,1z"
|
||||
container: ubuntu:18.04
|
||||
os: ubuntu-latest
|
||||
install: g++-6-multilib
|
||||
address-model: 32,64
|
||||
- toolset: gcc-7
|
||||
cxxstd: "11,14,17"
|
||||
container: ubuntu:20.04
|
||||
os: ubuntu-latest
|
||||
install: g++-7-multilib
|
||||
address-model: 32,64
|
||||
- toolset: gcc-8
|
||||
cxxstd: "11,14,17,2a"
|
||||
container: ubuntu:20.04
|
||||
os: ubuntu-latest
|
||||
install: g++-8-multilib
|
||||
address-model: 32,64
|
||||
- toolset: gcc-9
|
||||
cxxstd: "11,14,17,2a"
|
||||
container: ubuntu:20.04
|
||||
os: ubuntu-latest
|
||||
install: g++-9-multilib
|
||||
address-model: 32,64
|
||||
- toolset: gcc-10
|
||||
cxxstd: "11,14,17,2a"
|
||||
container: ubuntu:22.04
|
||||
os: ubuntu-latest
|
||||
install: g++-10-multilib
|
||||
address-model: 32,64
|
||||
- toolset: gcc-11
|
||||
cxxstd: "11,14,17,20"
|
||||
container: ubuntu:22.04
|
||||
os: ubuntu-latest
|
||||
install: g++-11-multilib
|
||||
address-model: 32,64
|
||||
- toolset: gcc-12
|
||||
cxxstd: "11,14,17,20,2b"
|
||||
container: ubuntu:22.04
|
||||
os: ubuntu-latest
|
||||
install: g++-12-multilib
|
||||
address-model: 32,64
|
||||
- toolset: gcc-13
|
||||
cxxstd: "11,14,17,20,2b"
|
||||
container: ubuntu:24.04
|
||||
os: ubuntu-latest
|
||||
install: g++-13-multilib
|
||||
address-model: 32,64
|
||||
- toolset: gcc-14
|
||||
cxxstd: "11,14,17,20,2b"
|
||||
container: ubuntu:24.04
|
||||
os: ubuntu-latest
|
||||
install: g++-14-multilib
|
||||
address-model: 32,64
|
||||
- toolset: gcc-15
|
||||
cxxstd: "11,14,17,20,23,2c"
|
||||
container: ubuntu:25.10
|
||||
os: ubuntu-latest
|
||||
install: g++-15-multilib
|
||||
address-model: 32,64
|
||||
- toolset: clang
|
||||
compiler: clang++-3.9
|
||||
cxxstd: "11,14"
|
||||
container: ubuntu:18.04
|
||||
os: ubuntu-latest
|
||||
install: clang-3.9
|
||||
- toolset: clang
|
||||
compiler: clang++-4.0
|
||||
cxxstd: "11,14"
|
||||
container: ubuntu:18.04
|
||||
os: ubuntu-latest
|
||||
install: clang-4.0
|
||||
- toolset: clang
|
||||
compiler: clang++-5.0
|
||||
cxxstd: "11,14,1z"
|
||||
container: ubuntu:18.04
|
||||
os: ubuntu-latest
|
||||
install: clang-5.0
|
||||
- toolset: clang
|
||||
compiler: clang++-6.0
|
||||
cxxstd: "11,14,17"
|
||||
container: ubuntu:20.04
|
||||
os: ubuntu-latest
|
||||
install: clang-6.0
|
||||
- toolset: clang
|
||||
compiler: clang++-7
|
||||
cxxstd: "11,14,17"
|
||||
container: ubuntu:20.04
|
||||
os: ubuntu-latest
|
||||
install: clang-7
|
||||
- toolset: clang
|
||||
compiler: clang++-8
|
||||
cxxstd: "11,14,17"
|
||||
container: ubuntu:20.04
|
||||
os: ubuntu-latest
|
||||
install: clang-8
|
||||
- toolset: clang
|
||||
compiler: clang++-9
|
||||
cxxstd: "11,14,17,2a"
|
||||
container: ubuntu:20.04
|
||||
os: ubuntu-latest
|
||||
install: clang-9
|
||||
- toolset: clang
|
||||
compiler: clang++-10
|
||||
cxxstd: "11,14,17,2a"
|
||||
container: ubuntu:20.04
|
||||
os: ubuntu-latest
|
||||
install: clang-10
|
||||
- toolset: clang
|
||||
compiler: clang++-11
|
||||
cxxstd: "11,14,17,2a"
|
||||
container: ubuntu:20.04
|
||||
os: ubuntu-latest
|
||||
install: clang-11
|
||||
- toolset: clang
|
||||
compiler: clang++-12
|
||||
cxxstd: "11,14,17,20"
|
||||
container: ubuntu:20.04
|
||||
os: ubuntu-latest
|
||||
install: clang-12
|
||||
- toolset: clang
|
||||
compiler: clang++-13
|
||||
cxxstd: "11,14,17,20,2b"
|
||||
container: ubuntu:22.04
|
||||
os: ubuntu-latest
|
||||
install: clang-13
|
||||
- toolset: clang
|
||||
compiler: clang++-14
|
||||
cxxstd: "11,14,17,20,2b"
|
||||
container: ubuntu:22.04
|
||||
os: ubuntu-latest
|
||||
install: clang-14
|
||||
- toolset: clang
|
||||
compiler: clang++-15
|
||||
cxxstd: "11,14,17,20,2b"
|
||||
container: ubuntu:22.04
|
||||
os: ubuntu-latest
|
||||
install: clang-15
|
||||
- toolset: clang
|
||||
compiler: clang++-16
|
||||
cxxstd: "11,14,17,20,2b"
|
||||
container: ubuntu:24.04
|
||||
os: ubuntu-latest
|
||||
install: clang-16
|
||||
- toolset: clang
|
||||
compiler: clang++-17
|
||||
cxxstd: "11,14,17,20,2b"
|
||||
container: ubuntu:24.04
|
||||
os: ubuntu-latest
|
||||
install: clang-17
|
||||
- toolset: clang
|
||||
compiler: clang++-18
|
||||
cxxstd: "11,14,17,20,2b"
|
||||
container: ubuntu:24.04
|
||||
os: ubuntu-latest
|
||||
install: clang-18
|
||||
- toolset: clang
|
||||
compiler: clang++-19
|
||||
cxxstd: "11,14,17,20,2b"
|
||||
container: ubuntu:24.04
|
||||
os: ubuntu-latest
|
||||
install: clang-19
|
||||
- toolset: clang
|
||||
compiler: clang++-20
|
||||
cxxstd: "11,14,17,20,2b"
|
||||
container: ubuntu:24.04
|
||||
os: ubuntu-latest
|
||||
install: clang-20
|
||||
- toolset: clang
|
||||
compiler: clang++-21
|
||||
cxxstd: "11,14,17,20,23,2c"
|
||||
container: ubuntu:25.10
|
||||
os: ubuntu-latest
|
||||
install: clang-21
|
||||
- toolset: clang
|
||||
cxxstd: "11,14,17,20,2b"
|
||||
os: macos-14
|
||||
- toolset: clang
|
||||
cxxstd: "11,14,17,20,2b"
|
||||
os: macos-15
|
||||
- toolset: clang
|
||||
cxxstd: "11,14,17,20,23,2c"
|
||||
os: macos-26
|
||||
|
||||
runs-on: ${{matrix.os}}
|
||||
|
||||
container:
|
||||
image: ${{matrix.container}}
|
||||
volumes:
|
||||
- /node20217:/node20217:rw,rshared
|
||||
- ${{ startsWith(matrix.container, 'ubuntu:1') && '/node20217:/__e/node20:ro,rshared' || ' ' }}
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
|
||||
steps:
|
||||
- name: Setup container environment
|
||||
if: matrix.container
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get -y install sudo python3 git g++ curl xz-utils
|
||||
|
||||
- name: Install nodejs20glibc2.17
|
||||
if: ${{ startsWith( matrix.container, 'ubuntu:1' ) }}
|
||||
run: |
|
||||
curl -LO https://archives.boost.io/misc/node/node-v20.9.0-linux-x64-glibc-217.tar.xz
|
||||
tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217
|
||||
ldd /__e/node20/bin/node
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install packages
|
||||
if: matrix.install
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install ${{matrix.install}}
|
||||
|
||||
- name: Setup Boost
|
||||
run: |
|
||||
echo GITHUB_REPOSITORY: $GITHUB_REPOSITORY
|
||||
LIBRARY=${GITHUB_REPOSITORY#*/}
|
||||
echo LIBRARY: $LIBRARY
|
||||
echo "LIBRARY=$LIBRARY" >> $GITHUB_ENV
|
||||
echo GITHUB_BASE_REF: $GITHUB_BASE_REF
|
||||
echo GITHUB_REF: $GITHUB_REF
|
||||
REF=${GITHUB_BASE_REF:-$GITHUB_REF}
|
||||
REF=${REF#refs/heads/}
|
||||
echo REF: $REF
|
||||
BOOST_BRANCH=develop && [ "$REF" == "master" ] && BOOST_BRANCH=master || true
|
||||
echo BOOST_BRANCH: $BOOST_BRANCH
|
||||
cd ..
|
||||
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
|
||||
cd boost-root
|
||||
cp -r $GITHUB_WORKSPACE/* libs/$LIBRARY
|
||||
git submodule update --init tools/boostdep
|
||||
python3 tools/boostdep/depinst/depinst.py -I examples $LIBRARY
|
||||
./bootstrap.sh
|
||||
./b2 -d0 headers
|
||||
|
||||
- name: Create user-config.jam
|
||||
if: matrix.compiler
|
||||
run: |
|
||||
echo "using ${{matrix.toolset}} : : ${{matrix.compiler}} ;" > ~/user-config.jam
|
||||
|
||||
- name: Run tests
|
||||
run: |
|
||||
cd ../boost-root
|
||||
export ADDRMD=${{matrix.address-model}}
|
||||
./b2 -j3 libs/$LIBRARY/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} ${ADDRMD:+address-model=$ADDRMD} variant=debug,release
|
||||
|
||||
windows:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- toolset: msvc-14.3
|
||||
cxxstd: "14,17,20,latest"
|
||||
addrmd: 32,64
|
||||
os: windows-2022
|
||||
- toolset: clang-win
|
||||
cxxstd: "14,17,20,latest"
|
||||
addrmd: 32,64
|
||||
os: windows-2025
|
||||
- toolset: gcc
|
||||
cxxstd: "11,14,17,2a"
|
||||
addrmd: 64
|
||||
os: windows-2022
|
||||
|
||||
runs-on: ${{matrix.os}}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Boost
|
||||
shell: cmd
|
||||
run: |
|
||||
echo GITHUB_REPOSITORY: %GITHUB_REPOSITORY%
|
||||
for /f %%i in ("%GITHUB_REPOSITORY%") do set LIBRARY=%%~nxi
|
||||
echo LIBRARY: %LIBRARY%
|
||||
echo LIBRARY=%LIBRARY%>>%GITHUB_ENV%
|
||||
echo GITHUB_BASE_REF: %GITHUB_BASE_REF%
|
||||
echo GITHUB_REF: %GITHUB_REF%
|
||||
if "%GITHUB_BASE_REF%" == "" set GITHUB_BASE_REF=%GITHUB_REF%
|
||||
set BOOST_BRANCH=develop
|
||||
for /f %%i in ("%GITHUB_BASE_REF%") do if "%%~nxi" == "master" set BOOST_BRANCH=master
|
||||
echo BOOST_BRANCH: %BOOST_BRANCH%
|
||||
cd ..
|
||||
git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root
|
||||
cd boost-root
|
||||
xcopy /s /e /q %GITHUB_WORKSPACE% libs\%LIBRARY%\
|
||||
git submodule update --init tools/boostdep
|
||||
python tools/boostdep/depinst/depinst.py -I examples --git_args "--jobs 3" %LIBRARY%
|
||||
cmd /c bootstrap
|
||||
b2 -d0 headers
|
||||
|
||||
- name: Run tests
|
||||
shell: cmd
|
||||
run: |
|
||||
cd ../boost-root
|
||||
b2 -j3 libs/%LIBRARY%/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} address-model=${{matrix.addrmd}} variant=debug,release embed-manifest-via=linker
|
||||
|
||||
posix-cmake-subdir:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- os: ubuntu-latest
|
||||
- os: macos-latest
|
||||
|
||||
runs-on: ${{matrix.os}}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install packages
|
||||
if: matrix.install
|
||||
run: sudo apt-get -y install ${{matrix.install}}
|
||||
|
||||
- name: Setup Boost
|
||||
run: |
|
||||
echo GITHUB_REPOSITORY: $GITHUB_REPOSITORY
|
||||
LIBRARY=${GITHUB_REPOSITORY#*/}
|
||||
echo LIBRARY: $LIBRARY
|
||||
echo "LIBRARY=$LIBRARY" >> $GITHUB_ENV
|
||||
echo GITHUB_BASE_REF: $GITHUB_BASE_REF
|
||||
echo GITHUB_REF: $GITHUB_REF
|
||||
REF=${GITHUB_BASE_REF:-$GITHUB_REF}
|
||||
REF=${REF#refs/heads/}
|
||||
echo REF: $REF
|
||||
BOOST_BRANCH=develop && [ "$REF" == "master" ] && BOOST_BRANCH=master || true
|
||||
echo BOOST_BRANCH: $BOOST_BRANCH
|
||||
cd ..
|
||||
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
|
||||
cd boost-root
|
||||
cp -r $GITHUB_WORKSPACE/* libs/$LIBRARY
|
||||
git submodule update --init tools/boostdep
|
||||
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" $LIBRARY
|
||||
|
||||
- name: Use library with add_subdirectory
|
||||
run: |
|
||||
cd ../boost-root/libs/$LIBRARY/test/cmake_subdir_test
|
||||
mkdir __build__ && cd __build__
|
||||
cmake ..
|
||||
cmake --build .
|
||||
ctest --output-on-failure --no-tests=error
|
||||
|
||||
posix-cmake-install:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- os: ubuntu-latest
|
||||
- os: macos-latest
|
||||
|
||||
runs-on: ${{matrix.os}}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install packages
|
||||
if: matrix.install
|
||||
run: sudo apt-get -y install ${{matrix.install}}
|
||||
|
||||
- name: Setup Boost
|
||||
run: |
|
||||
echo GITHUB_REPOSITORY: $GITHUB_REPOSITORY
|
||||
LIBRARY=${GITHUB_REPOSITORY#*/}
|
||||
echo LIBRARY: $LIBRARY
|
||||
echo "LIBRARY=$LIBRARY" >> $GITHUB_ENV
|
||||
echo GITHUB_BASE_REF: $GITHUB_BASE_REF
|
||||
echo GITHUB_REF: $GITHUB_REF
|
||||
REF=${GITHUB_BASE_REF:-$GITHUB_REF}
|
||||
REF=${REF#refs/heads/}
|
||||
echo REF: $REF
|
||||
BOOST_BRANCH=develop && [ "$REF" == "master" ] && BOOST_BRANCH=master || true
|
||||
echo BOOST_BRANCH: $BOOST_BRANCH
|
||||
cd ..
|
||||
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
|
||||
cd boost-root
|
||||
cp -r $GITHUB_WORKSPACE/* libs/$LIBRARY
|
||||
git submodule update --init tools/boostdep
|
||||
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" $LIBRARY
|
||||
|
||||
- name: Configure
|
||||
run: |
|
||||
cd ../boost-root
|
||||
mkdir __build__ && cd __build__
|
||||
cmake -DBOOST_INCLUDE_LIBRARIES=$LIBRARY -DCMAKE_INSTALL_PREFIX=~/.local ..
|
||||
|
||||
- name: Install
|
||||
run: |
|
||||
cd ../boost-root/__build__
|
||||
cmake --build . --target install
|
||||
|
||||
- name: Use the installed library
|
||||
run: |
|
||||
cd ../boost-root/libs/$LIBRARY/test/cmake_install_test && mkdir __build__ && cd __build__
|
||||
cmake -DCMAKE_INSTALL_PREFIX=~/.local ..
|
||||
cmake --build .
|
||||
ctest --output-on-failure --no-tests=error
|
||||
|
||||
posix-cmake-test:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- os: ubuntu-latest
|
||||
- os: macos-latest
|
||||
|
||||
runs-on: ${{matrix.os}}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install packages
|
||||
if: matrix.install
|
||||
run: sudo apt-get -y install ${{matrix.install}}
|
||||
|
||||
- name: Setup Boost
|
||||
run: |
|
||||
echo GITHUB_REPOSITORY: $GITHUB_REPOSITORY
|
||||
LIBRARY=${GITHUB_REPOSITORY#*/}
|
||||
echo LIBRARY: $LIBRARY
|
||||
echo "LIBRARY=$LIBRARY" >> $GITHUB_ENV
|
||||
echo GITHUB_BASE_REF: $GITHUB_BASE_REF
|
||||
echo GITHUB_REF: $GITHUB_REF
|
||||
REF=${GITHUB_BASE_REF:-$GITHUB_REF}
|
||||
REF=${REF#refs/heads/}
|
||||
echo REF: $REF
|
||||
BOOST_BRANCH=develop && [ "$REF" == "master" ] && BOOST_BRANCH=master || true
|
||||
echo BOOST_BRANCH: $BOOST_BRANCH
|
||||
cd ..
|
||||
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
|
||||
cd boost-root
|
||||
cp -r $GITHUB_WORKSPACE/* libs/$LIBRARY
|
||||
git submodule update --init tools/boostdep
|
||||
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" $LIBRARY
|
||||
|
||||
- name: Configure
|
||||
run: |
|
||||
cd ../boost-root
|
||||
mkdir __build__ && cd __build__
|
||||
cmake -DBOOST_INCLUDE_LIBRARIES=$LIBRARY -DBUILD_TESTING=ON ..
|
||||
|
||||
- name: Build tests
|
||||
run: |
|
||||
cd ../boost-root/__build__
|
||||
cmake --build . --target tests
|
||||
|
||||
- name: Run tests
|
||||
run: |
|
||||
cd ../boost-root/__build__
|
||||
ctest --output-on-failure --no-tests=error
|
||||
|
||||
windows-cmake-subdir:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- os: windows-latest
|
||||
|
||||
runs-on: ${{matrix.os}}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Boost
|
||||
shell: cmd
|
||||
run: |
|
||||
echo GITHUB_REPOSITORY: %GITHUB_REPOSITORY%
|
||||
for /f %%i in ("%GITHUB_REPOSITORY%") do set LIBRARY=%%~nxi
|
||||
echo LIBRARY: %LIBRARY%
|
||||
echo LIBRARY=%LIBRARY%>>%GITHUB_ENV%
|
||||
echo GITHUB_BASE_REF: %GITHUB_BASE_REF%
|
||||
echo GITHUB_REF: %GITHUB_REF%
|
||||
if "%GITHUB_BASE_REF%" == "" set GITHUB_BASE_REF=%GITHUB_REF%
|
||||
set BOOST_BRANCH=develop
|
||||
for /f %%i in ("%GITHUB_BASE_REF%") do if "%%~nxi" == "master" set BOOST_BRANCH=master
|
||||
echo BOOST_BRANCH: %BOOST_BRANCH%
|
||||
cd ..
|
||||
git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root
|
||||
cd boost-root
|
||||
xcopy /s /e /q %GITHUB_WORKSPACE% libs\%LIBRARY%\
|
||||
git submodule update --init tools/boostdep
|
||||
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" %LIBRARY%
|
||||
|
||||
- name: Use library with add_subdirectory (Debug)
|
||||
shell: cmd
|
||||
run: |
|
||||
cd ../boost-root/libs/%LIBRARY%/test/cmake_subdir_test
|
||||
mkdir __build__ && cd __build__
|
||||
cmake ..
|
||||
cmake --build . --config Debug
|
||||
ctest --output-on-failure --no-tests=error -C Debug
|
||||
|
||||
- name: Use library with add_subdirectory (Release)
|
||||
shell: cmd
|
||||
run: |
|
||||
cd ../boost-root/libs/%LIBRARY%/test/cmake_subdir_test/__build__
|
||||
cmake --build . --config Release
|
||||
ctest --output-on-failure --no-tests=error -C Release
|
||||
|
||||
windows-cmake-install:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- os: windows-latest
|
||||
|
||||
runs-on: ${{matrix.os}}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Boost
|
||||
shell: cmd
|
||||
run: |
|
||||
echo GITHUB_REPOSITORY: %GITHUB_REPOSITORY%
|
||||
for /f %%i in ("%GITHUB_REPOSITORY%") do set LIBRARY=%%~nxi
|
||||
echo LIBRARY: %LIBRARY%
|
||||
echo LIBRARY=%LIBRARY%>>%GITHUB_ENV%
|
||||
echo GITHUB_BASE_REF: %GITHUB_BASE_REF%
|
||||
echo GITHUB_REF: %GITHUB_REF%
|
||||
if "%GITHUB_BASE_REF%" == "" set GITHUB_BASE_REF=%GITHUB_REF%
|
||||
set BOOST_BRANCH=develop
|
||||
for /f %%i in ("%GITHUB_BASE_REF%") do if "%%~nxi" == "master" set BOOST_BRANCH=master
|
||||
echo BOOST_BRANCH: %BOOST_BRANCH%
|
||||
cd ..
|
||||
git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root
|
||||
cd boost-root
|
||||
xcopy /s /e /q %GITHUB_WORKSPACE% libs\%LIBRARY%\
|
||||
git submodule update --init tools/boostdep
|
||||
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" %LIBRARY%
|
||||
|
||||
- name: Configure
|
||||
shell: cmd
|
||||
run: |
|
||||
cd ../boost-root
|
||||
mkdir __build__ && cd __build__
|
||||
cmake -DBOOST_INCLUDE_LIBRARIES=%LIBRARY% -DCMAKE_INSTALL_PREFIX=C:/cmake-prefix ..
|
||||
|
||||
- name: Install (Debug)
|
||||
shell: cmd
|
||||
run: |
|
||||
cd ../boost-root/__build__
|
||||
cmake --build . --target install --config Debug
|
||||
|
||||
- name: Install (Release)
|
||||
shell: cmd
|
||||
run: |
|
||||
cd ../boost-root/__build__
|
||||
cmake --build . --target install --config Release
|
||||
|
||||
- name: Use the installed library (Debug)
|
||||
shell: cmd
|
||||
run: |
|
||||
cd ../boost-root/libs/%LIBRARY%/test/cmake_install_test && mkdir __build__ && cd __build__
|
||||
cmake -DCMAKE_INSTALL_PREFIX=C:/cmake-prefix ..
|
||||
cmake --build . --config Debug
|
||||
ctest --output-on-failure --no-tests=error -C Debug
|
||||
|
||||
- name: Use the installed library (Release)
|
||||
shell: cmd
|
||||
run: |
|
||||
cd ../boost-root/libs/%LIBRARY%/test/cmake_install_test/__build__
|
||||
cmake --build . --config Release
|
||||
ctest --output-on-failure --no-tests=error -C Release
|
||||
|
||||
windows-cmake-test:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- os: windows-latest
|
||||
|
||||
runs-on: ${{matrix.os}}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Boost
|
||||
shell: cmd
|
||||
run: |
|
||||
echo GITHUB_REPOSITORY: %GITHUB_REPOSITORY%
|
||||
for /f %%i in ("%GITHUB_REPOSITORY%") do set LIBRARY=%%~nxi
|
||||
echo LIBRARY: %LIBRARY%
|
||||
echo LIBRARY=%LIBRARY%>>%GITHUB_ENV%
|
||||
echo GITHUB_BASE_REF: %GITHUB_BASE_REF%
|
||||
echo GITHUB_REF: %GITHUB_REF%
|
||||
if "%GITHUB_BASE_REF%" == "" set GITHUB_BASE_REF=%GITHUB_REF%
|
||||
set BOOST_BRANCH=develop
|
||||
for /f %%i in ("%GITHUB_BASE_REF%") do if "%%~nxi" == "master" set BOOST_BRANCH=master
|
||||
echo BOOST_BRANCH: %BOOST_BRANCH%
|
||||
cd ..
|
||||
git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root
|
||||
cd boost-root
|
||||
xcopy /s /e /q %GITHUB_WORKSPACE% libs\%LIBRARY%\
|
||||
git submodule update --init tools/boostdep
|
||||
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" %LIBRARY%
|
||||
|
||||
- name: Configure
|
||||
shell: cmd
|
||||
run: |
|
||||
cd ../boost-root
|
||||
mkdir __build__ && cd __build__
|
||||
cmake -DBOOST_INCLUDE_LIBRARIES=%LIBRARY% -DBUILD_TESTING=ON ..
|
||||
|
||||
- name: Build tests (Debug)
|
||||
shell: cmd
|
||||
run: |
|
||||
cd ../boost-root/__build__
|
||||
cmake --build . --target tests --config Debug
|
||||
|
||||
- name: Run tests (Debug)
|
||||
shell: cmd
|
||||
run: |
|
||||
cd ../boost-root/__build__
|
||||
ctest --output-on-failure --no-tests=error -C Debug
|
||||
|
||||
- name: Build tests (Release)
|
||||
shell: cmd
|
||||
run: |
|
||||
cd ../boost-root/__build__
|
||||
cmake --build . --target tests --config Release
|
||||
|
||||
- name: Run tests (Release)
|
||||
shell: cmd
|
||||
run: |
|
||||
cd ../boost-root/__build__
|
||||
ctest --output-on-failure --no-tests=error -C Release
|
||||
@@ -27,7 +27,6 @@ target_link_libraries(boost_range
|
||||
Boost::optional
|
||||
Boost::preprocessor
|
||||
Boost::regex
|
||||
Boost::static_assert
|
||||
Boost::tuple
|
||||
Boost::type_traits
|
||||
Boost::utility
|
||||
|
||||
36
build.jam
Normal file
36
build.jam
Normal file
@@ -0,0 +1,36 @@
|
||||
# Copyright René Ferdinand Rivera Morell 2023-2024
|
||||
# Distributed under the Boost Software License, Version 1.0.
|
||||
# (See accompanying file LICENSE_1_0.txt or copy at
|
||||
# http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
require-b2 5.2 ;
|
||||
|
||||
constant boost_dependencies :
|
||||
/boost/array//boost_array
|
||||
/boost/assert//boost_assert
|
||||
/boost/concept_check//boost_concept_check
|
||||
/boost/config//boost_config
|
||||
/boost/container_hash//boost_container_hash
|
||||
/boost/conversion//boost_conversion
|
||||
/boost/core//boost_core
|
||||
/boost/detail//boost_detail
|
||||
/boost/iterator//boost_iterator
|
||||
/boost/mpl//boost_mpl
|
||||
/boost/optional//boost_optional
|
||||
/boost/preprocessor//boost_preprocessor
|
||||
/boost/regex//boost_regex
|
||||
/boost/tuple//boost_tuple
|
||||
/boost/type_traits//boost_type_traits
|
||||
/boost/utility//boost_utility ;
|
||||
|
||||
project /boost/range
|
||||
;
|
||||
|
||||
explicit
|
||||
[ alias boost_range : : :
|
||||
: <include>include <library>$(boost_dependencies) ]
|
||||
[ alias all : boost_range test ]
|
||||
;
|
||||
|
||||
call-if : boost-library range
|
||||
;
|
||||
@@ -13,6 +13,7 @@
|
||||
#include <boost/mpl/if.hpp>
|
||||
#include <boost/range/detail/any_iterator_buffer.hpp>
|
||||
#include <boost/iterator/iterator_categories.hpp>
|
||||
#include <boost/type_traits/add_const.hpp>
|
||||
#include <boost/type_traits/is_convertible.hpp>
|
||||
#include <boost/type_traits/is_reference.hpp>
|
||||
#include <boost/type_traits/remove_const.hpp>
|
||||
|
||||
22
test/CMakeLists.txt
Normal file
22
test/CMakeLists.txt
Normal file
@@ -0,0 +1,22 @@
|
||||
# Copyright 2018, 2019 Peter Dimov
|
||||
# Distributed under the Boost Software License, Version 1.0.
|
||||
# See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt
|
||||
|
||||
include(BoostTestJamfile OPTIONAL RESULT_VARIABLE HAVE_BOOST_TEST)
|
||||
|
||||
if(HAVE_BOOST_TEST)
|
||||
|
||||
boost_test_jamfile(
|
||||
FILE
|
||||
Jamfile.v2
|
||||
LINK_LIBRARIES
|
||||
Boost::range
|
||||
Boost::unit_test_framework
|
||||
Boost::assign
|
||||
Boost::foreach
|
||||
Boost::lambda
|
||||
Boost::regex
|
||||
Boost::variant
|
||||
)
|
||||
|
||||
endif()
|
||||
408
test/Jamfile.v2
408
test/Jamfile.v2
@@ -14,213 +14,217 @@ import testing ;
|
||||
|
||||
project
|
||||
: requirements
|
||||
<library>/boost/test//boost_unit_test_framework/
|
||||
<library>/boost/regex//boost_regex/
|
||||
<library>/boost/assign//boost_assign
|
||||
<library>/boost/foreach//boost_foreach
|
||||
<library>/boost/lambda//boost_lambda
|
||||
<library>/boost/regex//boost_regex/<link>static
|
||||
<library>/boost/test//boost_unit_test_framework
|
||||
<library>/boost/variant//boost_variant
|
||||
<link>static
|
||||
<threading>multi
|
||||
<warnings>all
|
||||
;
|
||||
|
||||
rule range-test ( name : includes * )
|
||||
{
|
||||
return [
|
||||
run $(name).cpp /boost/test//boost_unit_test_framework /boost/regex//boost_regex/<link>static
|
||||
:
|
||||
:
|
||||
: <toolset>gcc:<cxxflags>"-Wall -Wunused "
|
||||
] ;
|
||||
}
|
||||
compile-fail compile_fail/iterator_range1.cpp ;
|
||||
compile-fail compile_fail/adaptor/adjacent_filtered_concept.cpp ;
|
||||
compile-fail compile_fail/adaptor/adjacent_filtered_concept2.cpp ;
|
||||
compile-fail compile_fail/adaptor/adjacent_filtered_concept3.cpp ;
|
||||
compile-fail compile_fail/adaptor/adjacent_filtered_concept4.cpp ;
|
||||
compile-fail compile_fail/adaptor/copied_concept.cpp ;
|
||||
compile-fail compile_fail/adaptor/copied_concept2.cpp ;
|
||||
compile-fail compile_fail/adaptor/copied_concept3.cpp ;
|
||||
compile-fail compile_fail/adaptor/copied_concept4.cpp ;
|
||||
compile-fail compile_fail/adaptor/reversed_concept.cpp ;
|
||||
compile-fail compile_fail/adaptor/reversed_concept2.cpp ;
|
||||
compile-fail compile_fail/adaptor/reversed_concept3.cpp ;
|
||||
compile-fail compile_fail/adaptor/reversed_concept4.cpp ;
|
||||
compile-fail compile_fail/adaptor/sliced_concept.cpp ;
|
||||
compile-fail compile_fail/adaptor/sliced_concept2.cpp ;
|
||||
compile-fail compile_fail/adaptor/sliced_concept3.cpp ;
|
||||
compile-fail compile_fail/adaptor/sliced_concept4.cpp ;
|
||||
compile-fail compile_fail/adaptor/uniqued_concept.cpp ;
|
||||
compile-fail compile_fail/adaptor/uniqued_concept2.cpp ;
|
||||
compile-fail compile_fail/adaptor/uniqued_concept3.cpp ;
|
||||
compile-fail compile_fail/adaptor/uniqued_concept4.cpp ;
|
||||
|
||||
test-suite range :
|
||||
[ compile-fail compile_fail/iterator_range1.cpp ]
|
||||
[ compile-fail compile_fail/adaptor/adjacent_filtered_concept.cpp ]
|
||||
[ compile-fail compile_fail/adaptor/adjacent_filtered_concept2.cpp ]
|
||||
[ compile-fail compile_fail/adaptor/adjacent_filtered_concept3.cpp ]
|
||||
[ compile-fail compile_fail/adaptor/adjacent_filtered_concept4.cpp ]
|
||||
[ compile-fail compile_fail/adaptor/copied_concept.cpp ]
|
||||
[ compile-fail compile_fail/adaptor/copied_concept2.cpp ]
|
||||
[ compile-fail compile_fail/adaptor/copied_concept3.cpp ]
|
||||
[ compile-fail compile_fail/adaptor/copied_concept4.cpp ]
|
||||
[ compile-fail compile_fail/adaptor/reversed_concept.cpp ]
|
||||
[ compile-fail compile_fail/adaptor/reversed_concept2.cpp ]
|
||||
[ compile-fail compile_fail/adaptor/reversed_concept3.cpp ]
|
||||
[ compile-fail compile_fail/adaptor/reversed_concept4.cpp ]
|
||||
[ compile-fail compile_fail/adaptor/sliced_concept.cpp ]
|
||||
[ compile-fail compile_fail/adaptor/sliced_concept2.cpp ]
|
||||
[ compile-fail compile_fail/adaptor/sliced_concept3.cpp ]
|
||||
[ compile-fail compile_fail/adaptor/sliced_concept4.cpp ]
|
||||
[ compile-fail compile_fail/adaptor/uniqued_concept.cpp ]
|
||||
[ compile-fail compile_fail/adaptor/uniqued_concept2.cpp ]
|
||||
[ compile-fail compile_fail/adaptor/uniqued_concept3.cpp ]
|
||||
[ compile-fail compile_fail/adaptor/uniqued_concept4.cpp ]
|
||||
[ range-test adaptor_test/adjacent_filtered ]
|
||||
[ range-test adaptor_test/chained ]
|
||||
[ range-test adaptor_test/copied ]
|
||||
[ range-test adaptor_test/filtered ]
|
||||
[ range-test adaptor_test/indexed ]
|
||||
[ range-test adaptor_test/indirected ]
|
||||
[ range-test adaptor_test/map ]
|
||||
[ range-test adaptor_test/ref_unwrapped ]
|
||||
[ range-test adaptor_test/ref_unwrapped_example ]
|
||||
[ range-test adaptor_test/replaced ]
|
||||
[ range-test adaptor_test/replaced_if ]
|
||||
[ range-test adaptor_test/reversed ]
|
||||
[ range-test adaptor_test/sliced ]
|
||||
[ range-test adaptor_test/strided ]
|
||||
[ range-test adaptor_test/strided2 ]
|
||||
[ range-test adaptor_test/ticket_6742_transformed_c4789_warning ]
|
||||
[ range-test adaptor_test/ticket_8676_sliced_transformed ]
|
||||
[ range-test adaptor_test/ticket_9519_strided_reversed ]
|
||||
[ range-test adaptor_test/tokenized ]
|
||||
[ range-test adaptor_test/transformed ]
|
||||
[ range-test adaptor_test/type_erased ]
|
||||
[ range-test adaptor_test/type_erased_abstract ]
|
||||
[ range-test adaptor_test/type_erased_brackets ]
|
||||
[ range-test adaptor_test/type_erased_mix_values ]
|
||||
[ range-test adaptor_test/type_erased_tparam_conv ]
|
||||
[ range-test adaptor_test/type_erased_single_pass ]
|
||||
[ range-test adaptor_test/type_erased_forward ]
|
||||
[ range-test adaptor_test/type_erased_bidirectional ]
|
||||
[ range-test adaptor_test/type_erased_random_access ]
|
||||
[ range-test adaptor_test/type_erased_transformed ]
|
||||
[ range-test adaptor_test/uniqued ]
|
||||
[ range-test adaptor_test/adjacent_filtered_example ]
|
||||
[ range-test adaptor_test/copied_example ]
|
||||
[ range-test adaptor_test/filtered_example ]
|
||||
[ range-test adaptor_test/formatted ]
|
||||
[ range-test adaptor_test/formatted_example ]
|
||||
[ range-test adaptor_test/indexed_example ]
|
||||
[ range-test adaptor_test/indirected_example ]
|
||||
[ range-test adaptor_test/map_keys_example ]
|
||||
[ range-test adaptor_test/map_values_example ]
|
||||
[ range-test adaptor_test/replaced_example ]
|
||||
[ range-test adaptor_test/replaced_if_example ]
|
||||
[ range-test adaptor_test/reversed_example ]
|
||||
[ range-test adaptor_test/sliced_example ]
|
||||
[ range-test adaptor_test/strided_example ]
|
||||
[ range-test adaptor_test/transformed_example ]
|
||||
[ range-test adaptor_test/tokenized_example ]
|
||||
[ range-test adaptor_test/type_erased_example ]
|
||||
[ range-test adaptor_test/uniqued_example ]
|
||||
[ range-test algorithm_test/adjacent_find ]
|
||||
[ range-test algorithm_test/binary_search ]
|
||||
[ range-test algorithm_test/copy ]
|
||||
[ range-test algorithm_test/copy_backward ]
|
||||
[ range-test algorithm_test/count ]
|
||||
[ range-test algorithm_test/count_if ]
|
||||
[ range-test algorithm_test/equal ]
|
||||
[ range-test algorithm_test/equal_range ]
|
||||
[ range-test algorithm_test/fill ]
|
||||
[ range-test algorithm_test/find ]
|
||||
[ range-test algorithm_test/find_if ]
|
||||
[ range-test algorithm_test/find_end ]
|
||||
[ range-test algorithm_test/find_first_of ]
|
||||
[ range-test algorithm_test/for_each ]
|
||||
[ range-test algorithm_test/generate ]
|
||||
[ range-test algorithm_test/heap ]
|
||||
[ range-test algorithm_test/includes ]
|
||||
[ range-test algorithm_test/inplace_merge ]
|
||||
[ range-test algorithm_test/lexicographical_compare ]
|
||||
[ range-test algorithm_test/lower_bound ]
|
||||
[ range-test algorithm_test/max_element ]
|
||||
[ range-test algorithm_test/merge ]
|
||||
[ range-test algorithm_test/min_element ]
|
||||
[ range-test algorithm_test/mismatch ]
|
||||
[ range-test algorithm_test/next_permutation ]
|
||||
[ range-test algorithm_test/nth_element ]
|
||||
[ range-test algorithm_test/partial_sort ]
|
||||
[ range-test algorithm_test/partition ]
|
||||
[ range-test algorithm_test/prev_permutation ]
|
||||
[ range-test algorithm_test/random_shuffle ]
|
||||
[ range-test algorithm_test/remove ]
|
||||
[ range-test algorithm_test/remove_copy ]
|
||||
[ range-test algorithm_test/remove_copy_if ]
|
||||
[ range-test algorithm_test/remove_if ]
|
||||
[ range-test algorithm_test/replace ]
|
||||
[ range-test algorithm_test/replace_copy ]
|
||||
[ range-test algorithm_test/replace_copy_if ]
|
||||
[ range-test algorithm_test/replace_if ]
|
||||
[ range-test algorithm_test/reverse ]
|
||||
[ range-test algorithm_test/reverse_copy ]
|
||||
[ range-test algorithm_test/rotate ]
|
||||
[ range-test algorithm_test/rotate_copy ]
|
||||
[ range-test algorithm_test/search ]
|
||||
[ range-test algorithm_test/search_n ]
|
||||
[ range-test algorithm_test/set_difference ]
|
||||
[ range-test algorithm_test/set_intersection ]
|
||||
[ range-test algorithm_test/set_symmetric_difference ]
|
||||
[ range-test algorithm_test/set_union ]
|
||||
[ range-test algorithm_test/sort ]
|
||||
[ range-test algorithm_test/stable_partition ]
|
||||
[ range-test algorithm_test/stable_sort ]
|
||||
[ range-test algorithm_test/swap_ranges ]
|
||||
[ range-test algorithm_test/transform ]
|
||||
[ range-test algorithm_test/unique ]
|
||||
[ range-test algorithm_test/unique_copy ]
|
||||
[ range-test algorithm_test/upper_bound ]
|
||||
[ range-test algorithm_ext_test/copy_n ]
|
||||
[ range-test algorithm_ext_test/erase ]
|
||||
[ range-test algorithm_ext_test/for_each_ext ]
|
||||
[ range-test algorithm_ext_test/insert ]
|
||||
[ range-test algorithm_ext_test/iota ]
|
||||
[ range-test algorithm_ext_test/is_sorted ]
|
||||
[ range-test algorithm_ext_test/overwrite ]
|
||||
[ range-test algorithm_ext_test/push_back ]
|
||||
[ range-test algorithm_ext_test/push_front ]
|
||||
[ range-test adl_conformance ]
|
||||
[ range-test adl_conformance_no_using ]
|
||||
[ range-test algorithm ]
|
||||
[ range-test algorithm_example ]
|
||||
[ range-test array ]
|
||||
# [ range-test atl : <include>$(VC71_ROOT)/atlmfc/include ]
|
||||
[ range-test begin ]
|
||||
[ range-test category ]
|
||||
[ range-test combine ]
|
||||
[ range-test compat2 ]
|
||||
[ range-test compat3 ]
|
||||
[ range-test const_iterator ]
|
||||
[ range-test const_ranges ]
|
||||
[ range-test const_reverse_iterator ]
|
||||
[ range-test counting_range ]
|
||||
[ range-test difference_type ]
|
||||
[ range-test end ]
|
||||
[ range-test extension_mechanism ]
|
||||
[ range-test extension_size ]
|
||||
[ range-test has_range_iterator ]
|
||||
[ range-test irange ]
|
||||
[ range-test istream_range ]
|
||||
[ range-test iterator ]
|
||||
[ range-test iterator_ext ]
|
||||
[ range-test iterator_pair ]
|
||||
[ range-test iterator_range ]
|
||||
[ range-test iterator_range_drop ]
|
||||
[ range-test iterator_range_equality_bug ]
|
||||
[ range-test iterator_range_hash ]
|
||||
[ range-test iterator_range_variant ]
|
||||
# [ range-test mfc : <include>$(VC71_ROOT)/atlmfc/include ]
|
||||
[ range-test join ]
|
||||
[ range-test mutable_iterator ]
|
||||
[ range-test partial_workaround ]
|
||||
[ range-test pointer ]
|
||||
[ range-test pointer_as_iterator ]
|
||||
[ range-test reference ]
|
||||
[ range-test result_iterator ]
|
||||
[ range-test reverse_iterator ]
|
||||
[ range-test reverse_result_iterator ]
|
||||
[ range-test reversible_range ]
|
||||
[ range-test size_type ]
|
||||
[ range-test std_container ]
|
||||
[ range-test string ]
|
||||
[ range-test sub_range ]
|
||||
[ range-test ticket_5486 ]
|
||||
[ range-test ticket_5544_terminate_irange ]
|
||||
[ range-test ticket_5547 ]
|
||||
[ range-test ticket_5556_is_sorted_namespace ]
|
||||
[ range-test ticket_5811_indirected_optional ]
|
||||
[ range-test ticket_6715_iterator_range_equality ]
|
||||
[ range-test ticket_6944 ]
|
||||
[ range-test ticket_10336 ]
|
||||
[ range-test value_type ]
|
||||
;
|
||||
run adaptor_test/adjacent_filtered.cpp ;
|
||||
run adaptor_test/chained.cpp ;
|
||||
run adaptor_test/copied.cpp ;
|
||||
run adaptor_test/filtered.cpp ;
|
||||
run adaptor_test/indexed.cpp ;
|
||||
run adaptor_test/indirected.cpp ;
|
||||
run adaptor_test/map.cpp ;
|
||||
run adaptor_test/ref_unwrapped.cpp ;
|
||||
run adaptor_test/ref_unwrapped_example.cpp ;
|
||||
run adaptor_test/replaced.cpp ;
|
||||
run adaptor_test/replaced_if.cpp ;
|
||||
run adaptor_test/reversed.cpp ;
|
||||
run adaptor_test/sliced.cpp ;
|
||||
run adaptor_test/strided.cpp ;
|
||||
run adaptor_test/strided2.cpp ;
|
||||
|
||||
run adaptor_test/ticket_6742_transformed_c4789_warning.cpp : : : <library>/boost/phoenix//boost_phoenix
|
||||
# copy assignment operator of 'transform_iterator<boost::phoenix::actor<...' is deleted
|
||||
<target-os>darwin:<build>no ;
|
||||
|
||||
run adaptor_test/ticket_8676_sliced_transformed.cpp ;
|
||||
run adaptor_test/ticket_9519_strided_reversed.cpp ;
|
||||
run adaptor_test/tokenized.cpp ;
|
||||
run adaptor_test/transformed.cpp ;
|
||||
run adaptor_test/type_erased.cpp ;
|
||||
run adaptor_test/type_erased_abstract.cpp ;
|
||||
run adaptor_test/type_erased_brackets.cpp ;
|
||||
run adaptor_test/type_erased_mix_values.cpp ;
|
||||
run adaptor_test/type_erased_tparam_conv.cpp ;
|
||||
run adaptor_test/type_erased_single_pass.cpp ;
|
||||
run adaptor_test/type_erased_forward.cpp ;
|
||||
run adaptor_test/type_erased_bidirectional.cpp ;
|
||||
run adaptor_test/type_erased_random_access.cpp ;
|
||||
run adaptor_test/type_erased_transformed.cpp ;
|
||||
run adaptor_test/uniqued.cpp ;
|
||||
run adaptor_test/adjacent_filtered_example.cpp ;
|
||||
run adaptor_test/copied_example.cpp ;
|
||||
run adaptor_test/filtered_example.cpp ;
|
||||
run adaptor_test/formatted.cpp ;
|
||||
run adaptor_test/formatted_example.cpp ;
|
||||
run adaptor_test/indexed_example.cpp ;
|
||||
run adaptor_test/indirected_example.cpp ;
|
||||
run adaptor_test/map_keys_example.cpp ;
|
||||
run adaptor_test/map_values_example.cpp ;
|
||||
run adaptor_test/replaced_example.cpp ;
|
||||
run adaptor_test/replaced_if_example.cpp ;
|
||||
run adaptor_test/reversed_example.cpp ;
|
||||
run adaptor_test/sliced_example.cpp ;
|
||||
run adaptor_test/strided_example.cpp ;
|
||||
run adaptor_test/transformed_example.cpp ;
|
||||
run adaptor_test/tokenized_example.cpp ;
|
||||
run adaptor_test/type_erased_example.cpp ;
|
||||
run adaptor_test/uniqued_example.cpp ;
|
||||
|
||||
run algorithm_test/adjacent_find.cpp ;
|
||||
run algorithm_test/binary_search.cpp ;
|
||||
run algorithm_test/copy.cpp ;
|
||||
run algorithm_test/copy_backward.cpp ;
|
||||
run algorithm_test/count.cpp ;
|
||||
run algorithm_test/count_if.cpp ;
|
||||
run algorithm_test/equal.cpp ;
|
||||
run algorithm_test/equal_range.cpp ;
|
||||
run algorithm_test/fill.cpp ;
|
||||
run algorithm_test/find.cpp ;
|
||||
run algorithm_test/find_if.cpp ;
|
||||
|
||||
# these two tests require /bigobj in windows-cmake-test
|
||||
run algorithm_test/find_end.cpp : ;
|
||||
run algorithm_test/find_first_of.cpp : ;
|
||||
|
||||
run algorithm_test/for_each.cpp ;
|
||||
run algorithm_test/generate.cpp ;
|
||||
run algorithm_test/heap.cpp ;
|
||||
run algorithm_test/includes.cpp ;
|
||||
run algorithm_test/inplace_merge.cpp ;
|
||||
run algorithm_test/lexicographical_compare.cpp ;
|
||||
run algorithm_test/lower_bound.cpp ;
|
||||
run algorithm_test/max_element.cpp ;
|
||||
run algorithm_test/merge.cpp ;
|
||||
run algorithm_test/min_element.cpp ;
|
||||
run algorithm_test/mismatch.cpp ;
|
||||
run algorithm_test/next_permutation.cpp ;
|
||||
run algorithm_test/nth_element.cpp ;
|
||||
run algorithm_test/partial_sort.cpp ;
|
||||
run algorithm_test/partition.cpp ;
|
||||
run algorithm_test/prev_permutation.cpp ;
|
||||
run algorithm_test/random_shuffle.cpp ;
|
||||
run algorithm_test/remove.cpp ;
|
||||
run algorithm_test/remove_copy.cpp ;
|
||||
run algorithm_test/remove_copy_if.cpp ;
|
||||
run algorithm_test/remove_if.cpp ;
|
||||
run algorithm_test/replace.cpp ;
|
||||
run algorithm_test/replace_copy.cpp ;
|
||||
run algorithm_test/replace_copy_if.cpp ;
|
||||
run algorithm_test/replace_if.cpp ;
|
||||
run algorithm_test/reverse.cpp ;
|
||||
run algorithm_test/reverse_copy.cpp ;
|
||||
run algorithm_test/rotate.cpp ;
|
||||
run algorithm_test/rotate_copy.cpp ;
|
||||
run algorithm_test/search.cpp ;
|
||||
run algorithm_test/search_n.cpp ;
|
||||
run algorithm_test/set_difference.cpp ;
|
||||
run algorithm_test/set_intersection.cpp ;
|
||||
run algorithm_test/set_symmetric_difference.cpp ;
|
||||
run algorithm_test/set_union.cpp ;
|
||||
run algorithm_test/sort.cpp ;
|
||||
run algorithm_test/stable_partition.cpp ;
|
||||
run algorithm_test/stable_sort.cpp ;
|
||||
run algorithm_test/swap_ranges.cpp ;
|
||||
run algorithm_test/transform.cpp ;
|
||||
run algorithm_test/unique.cpp ;
|
||||
run algorithm_test/unique_copy.cpp ;
|
||||
run algorithm_test/upper_bound.cpp ;
|
||||
|
||||
run algorithm_ext_test/copy_n.cpp ;
|
||||
run algorithm_ext_test/erase.cpp ;
|
||||
run algorithm_ext_test/for_each_ext.cpp ;
|
||||
run algorithm_ext_test/insert.cpp ;
|
||||
run algorithm_ext_test/iota.cpp ;
|
||||
run algorithm_ext_test/is_sorted.cpp ;
|
||||
run algorithm_ext_test/overwrite.cpp ;
|
||||
run algorithm_ext_test/push_back.cpp ;
|
||||
run algorithm_ext_test/push_front.cpp ;
|
||||
|
||||
run adl_conformance.cpp ;
|
||||
run adl_conformance_no_using.cpp ;
|
||||
run algorithm.cpp ;
|
||||
run algorithm_example.cpp ;
|
||||
run array.cpp ;
|
||||
#run atl.cpp : <include>$(VC71_ROOT)/atlmfc/include ;
|
||||
run begin.cpp ;
|
||||
run category.cpp ;
|
||||
run combine.cpp ;
|
||||
run compat2.cpp ;
|
||||
run compat3.cpp ;
|
||||
run const_iterator.cpp ;
|
||||
run const_ranges.cpp ;
|
||||
run const_reverse_iterator.cpp ;
|
||||
run counting_range.cpp ;
|
||||
run difference_type.cpp ;
|
||||
run end.cpp ;
|
||||
run extension_mechanism.cpp ;
|
||||
run extension_size.cpp ;
|
||||
run has_range_iterator.cpp ;
|
||||
run irange.cpp ;
|
||||
run istream_range.cpp ;
|
||||
run iterator.cpp ;
|
||||
run iterator_ext.cpp ;
|
||||
run iterator_pair.cpp ;
|
||||
run iterator_range.cpp ;
|
||||
run iterator_range_drop.cpp ;
|
||||
run iterator_range_equality_bug.cpp ;
|
||||
run iterator_range_hash.cpp ;
|
||||
run iterator_range_variant.cpp ;
|
||||
#run mfc.cpp : <include>$(VC71_ROOT)/atlmfc/include ;
|
||||
run join.cpp ;
|
||||
run mutable_iterator.cpp ;
|
||||
run partial_workaround.cpp ;
|
||||
run pointer.cpp ;
|
||||
run pointer_as_iterator.cpp ;
|
||||
run reference.cpp ;
|
||||
run result_iterator.cpp ;
|
||||
run reverse_iterator.cpp ;
|
||||
run reverse_result_iterator.cpp ;
|
||||
run reversible_range.cpp ;
|
||||
run size_type.cpp ;
|
||||
run std_container.cpp ;
|
||||
run string.cpp ;
|
||||
run sub_range.cpp ;
|
||||
run ticket_5486.cpp ;
|
||||
run ticket_5544_terminate_irange.cpp ;
|
||||
run ticket_5547.cpp ;
|
||||
run ticket_5556_is_sorted_namespace.cpp ;
|
||||
run ticket_5811_indirected_optional.cpp ;
|
||||
run ticket_6715_iterator_range_equality.cpp ;
|
||||
run ticket_6944.cpp ;
|
||||
run ticket_10336.cpp ;
|
||||
run value_type.cpp ;
|
||||
|
||||
# `quick` target (for CI)
|
||||
alias quick : std_container ;
|
||||
|
||||
@@ -23,13 +23,13 @@
|
||||
#define _SCL_SECURE_NO_WARNINGS
|
||||
#endif
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#if defined(_MSC_VER) && !defined(__clang__)
|
||||
// counting_iterator generates a warning about truncating an integer
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable : 4244)
|
||||
#endif
|
||||
#include <boost/iterator/counting_iterator.hpp>
|
||||
#ifdef _MSC_VER
|
||||
#if defined(_MSC_VER) && !defined(__clang__)
|
||||
template ::boost::counting_iterator<int>;
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
|
||||
17
test/cmake_install_test/CMakeLists.txt
Normal file
17
test/cmake_install_test/CMakeLists.txt
Normal file
@@ -0,0 +1,17 @@
|
||||
# Copyright 2018, 2019 Peter Dimov
|
||||
# Distributed under the Boost Software License, Version 1.0.
|
||||
# See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt
|
||||
|
||||
cmake_minimum_required(VERSION 3.5...3.31)
|
||||
|
||||
project(cmake_install_test LANGUAGES CXX)
|
||||
|
||||
find_package(boost_range REQUIRED)
|
||||
|
||||
add_executable(main main.cpp)
|
||||
target_link_libraries(main Boost::range)
|
||||
|
||||
enable_testing()
|
||||
add_test(main main)
|
||||
|
||||
add_custom_target(check VERBATIM COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $<CONFIG>)
|
||||
19
test/cmake_install_test/main.cpp
Normal file
19
test/cmake_install_test/main.cpp
Normal file
@@ -0,0 +1,19 @@
|
||||
// Copyright 2026 Peter Dimov
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// http://www.boost.org/LICENSE_1_0.txt
|
||||
|
||||
#undef NDEBUG
|
||||
|
||||
#include <boost/range.hpp>
|
||||
#include <string>
|
||||
#include <cassert>
|
||||
|
||||
int main()
|
||||
{
|
||||
std::string s( "foo" );
|
||||
|
||||
assert( boost::begin( s ) == s.begin() );
|
||||
assert( boost::end( s ) == s.end() );
|
||||
assert( boost::empty( s ) == s.empty() );
|
||||
assert( boost::size( s ) == s.size() );
|
||||
}
|
||||
18
test/cmake_subdir_test/CMakeLists.txt
Normal file
18
test/cmake_subdir_test/CMakeLists.txt
Normal file
@@ -0,0 +1,18 @@
|
||||
# Copyright 2018, 2019 Peter Dimov
|
||||
# Distributed under the Boost Software License, Version 1.0.
|
||||
# See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt
|
||||
|
||||
cmake_minimum_required(VERSION 3.5...3.31)
|
||||
|
||||
project(cmake_subdir_test LANGUAGES CXX)
|
||||
|
||||
set(BOOST_INCLUDE_LIBRARIES range)
|
||||
add_subdirectory(../../../.. boostorg/boost)
|
||||
|
||||
add_executable(main main.cpp)
|
||||
target_link_libraries(main Boost::range)
|
||||
|
||||
enable_testing()
|
||||
add_test(main main)
|
||||
|
||||
add_custom_target(check VERBATIM COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $<CONFIG>)
|
||||
19
test/cmake_subdir_test/main.cpp
Normal file
19
test/cmake_subdir_test/main.cpp
Normal file
@@ -0,0 +1,19 @@
|
||||
// Copyright 2026 Peter Dimov
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// http://www.boost.org/LICENSE_1_0.txt
|
||||
|
||||
#undef NDEBUG
|
||||
|
||||
#include <boost/range.hpp>
|
||||
#include <string>
|
||||
#include <cassert>
|
||||
|
||||
int main()
|
||||
{
|
||||
std::string s( "foo" );
|
||||
|
||||
assert( boost::begin( s ) == s.begin() );
|
||||
assert( boost::end( s ) == s.end() );
|
||||
assert( boost::empty( s ) == s.empty() );
|
||||
assert( boost::size( s ) == s.size() );
|
||||
}
|
||||
Reference in New Issue
Block a user