Compare commits

...

35 Commits

Author SHA1 Message Date
cd1b1bd039 Update ci.yml 2025-06-09 03:08:24 +03:00
849e8e91fc Merge pull request #56 from grafikrobot/modular
Add modular library level build file.
2025-05-02 19:15:21 +03:00
cd44c911d7 Move project global include to target local include. 2025-04-07 20:56:59 -05:00
b64ec9dbc7 Sync from upstream. 2025-04-04 21:39:18 -05:00
d899a718f1 Merge pull request #44 from marcoffee/fix-e129-e193
Fix references to parameters e129 and e193
2024-12-28 16:37:31 +02:00
918ff83c02 Update ci.yml 2024-12-28 16:09:52 +02:00
f9ada379f2 Apply Node20 workaround 2024-12-28 15:35:54 +02:00
910e57e789 Update ci.yml 2024-12-28 15:33:59 +02:00
0d2a85b3de Move inter-lib dependencies to a project variable and into the build targets. 2024-07-23 22:34:22 -05:00
c62822b6b5 Update copyright dates. 2024-07-20 22:52:03 -05:00
d5e87381fe Bump B2 require to 5.2 2024-06-14 11:33:56 -05:00
4cef4160fa Add requires-b2 check to top-level build file. 2024-05-05 09:00:01 -05:00
bf702eb1fd Merge branch 'boostorg:develop' into modular 2024-02-04 12:21:04 -06:00
c4ea7e40d3 Update test/CMakeLists.txt 2024-02-04 19:09:41 +02:00
fb8ebc8b42 Merge branch 'modular-location-independent' of https://github.com/grafikrobot/boostorg.preprocessor into feature/pr-57 2024-02-04 19:07:42 +02:00
3f3f1e070a Disable __VA_OPT__ for Clang 8 as well 2024-02-04 18:48:22 +02:00
ec8d33c4a0 Update ci.yml 2024-02-04 18:21:57 +02:00
a3d0db9305 Avoid references to root project. 2024-02-04 09:56:35 -06:00
a475d97e89 Add modular library level build file. 2024-02-04 09:47:19 -06:00
667e87b339 Change C test names to not conflict with the C++ ones 2022-08-16 20:59:52 +03:00
e919b652af Disable __VA_OPT__ on g++ 8/9 in c++2a mode, as vaopt.cpp fails 2022-08-16 19:09:04 +03:00
108a948323 Add .github/workflows 2022-08-16 11:31:06 +03:00
eacc296fa5 Merge branch 'master' into develop 2022-08-16 11:27:43 +03:00
f29be910a0 Fix references to parameters e129 and e193 2022-02-07 09:55:43 -03:00
d4e82d7d3f Merge branch 'develop' 2021-06-27 13:24:38 -04:00
69614bb1da Fix CMake tests in .travis.yml 2021-06-10 16:37:10 +03:00
24abbdc906 Update CMakeLists.txt 2021-06-10 02:09:03 +03:00
45178c3cc5 Merge branch 'master' into develop 2021-06-10 02:07:17 +03:00
93b896c932 Corrected cmake tests 2021-05-29 08:59:36 -04:00
229f654b59 Merge branch 'develop' 2021-02-15 16:07:36 -05:00
aa8f347df2 Treat nvcc compiling in cuda mode with _MSC_VER defined as if it is the VC++ default preprocessor as far as variadic macro support is concerned. 2021-02-11 23:38:30 -05:00
d8471d6526 Merge pull request #36 from sdarwin/drone
Drone config
2021-01-13 12:42:59 -05:00
bee33b0117 add drone config [ci skip] 2021-01-13 17:09:26 +00:00
b49e14231f Merge branch 'develop' 2020-12-29 16:26:32 -05:00
5289c50299 Update meta information 2020-12-28 10:15:43 -05:00
77 changed files with 1100 additions and 288 deletions

52
.drone.star Normal file
View File

@ -0,0 +1,52 @@
# Use, modification, and distribution are
# subject to the Boost Software License, Version 1.0. (See accompanying
# file LICENSE.txt)
#
# Copyright Rene Rivera 2020.
# For Drone CI we use the Starlark scripting language to reduce duplication.
# As the yaml syntax for Drone CI is rather limited.
#
#
globalenv={}
linuxglobalimage="cppalliance/droneubuntu1604:1"
windowsglobalimage="cppalliance/dronevs2019"
def main(ctx):
return [
linux_cxx("TOOLSET=gcc COMPILER=g++ CXXSTD=03,11 Job 0", "g++", packages="", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++', 'CXXSTD': '03,11', 'DRONE_JOB_UUID': 'b6589fc6ab'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc COMPILER=g++-4.4 CXXSTD=98 Job 1", "g++", packages="g++-4.4", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-4.4', 'CXXSTD': '98', 'DRONE_JOB_UUID': '356a192b79'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc COMPILER=g++-4.6 CXXSTD=03,0x Job 2", "g++", packages="g++-4.6", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-4.6', 'CXXSTD': '03,0x', 'DRONE_JOB_UUID': 'da4b9237ba'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=03,11 Job 3", "g++-4.7", packages="g++-4.7", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-4.7', 'CXXSTD': '03,11', 'DRONE_JOB_UUID': '77de68daec'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=03,11 Job 4", "g++-4.8", packages="g++-4.8", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-4.8', 'CXXSTD': '03,11', 'DRONE_JOB_UUID': '1b64538924'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=03,11 Job 5", "g++-4.9", packages="g++-4.9", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-4.9', 'CXXSTD': '03,11', 'DRONE_JOB_UUID': 'ac3478d69a'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc COMPILER=g++-5 CXXSTD=03,11,14,1z Job 6", "g++-5", packages="g++-5", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-5', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_UUID': 'c1dfd96eea'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11,14,1z Job 7", "g++-6", packages="g++-6", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-6', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_UUID': '902ba3cda1'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17 Job 8", "g++-7", packages="g++-7", buildtype="boost", buildscript="drone", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-7', 'CXXSTD': '03,11,14,17', 'DRONE_JOB_UUID': 'fe5dbbcea5'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc COMPILER=g++-8 CXXSTD=03,11,14,17 Job 9", "g++-8", packages="g++-8", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-8', 'CXXSTD': '03,11,14,17', 'DRONE_JOB_UUID': '0ade7c2cf9'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc COMPILER=g++-9 CXXSTD=03,11,14,17 Job 10", "g++-9", packages="g++-9", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-9', 'CXXSTD': '03,11,14,17', 'DRONE_JOB_UUID': 'b1d5781111'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc COMPILER=g++-10 CXXSTD=03,11,14,1 Job 11", "g++-10", packages="g++-10", buildtype="boost", buildscript="drone", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-10', 'CXXSTD': '03,11,14,17,2a', 'DRONE_JOB_UUID': '17ba079149'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++ CXXSTD=03,11 Job 12", "clang++", packages="", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++', 'CXXSTD': '03,11', 'DRONE_JOB_UUID': '7b52009b64'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=/usr/bin/clang++ CXXST Job 13", "/usr/bin/clang++", packages="clang-3.3", buildtype="boost", buildscript="drone", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'clang', 'COMPILER': '/usr/bin/clang++', 'CXXSTD': '03,11', 'DRONE_JOB_UUID': 'bd307a3ec3'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=/usr/bin/clang++ CXXST Job 14", "/usr/bin/clang++", packages="clang-3.4", buildtype="boost", buildscript="drone", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'clang', 'COMPILER': '/usr/bin/clang++', 'CXXSTD': '03,11', 'DRONE_JOB_UUID': 'fa35e19212'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=03, Job 15", "clang++", packages="clang-3.5", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.5', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_UUID': 'f1abd67035'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=03, Job 16", "clang++", packages="clang-3.6", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.6', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_UUID': '1574bddb75'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=03, Job 17", "clang++", packages="clang-3.7", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.7', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_UUID': '0716d9708d'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=03, Job 18", "clang++-3.8", packages="clang-3.8", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.8', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_UUID': '9e6a55b6b4'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03, Job 19", "clang++-3.9", packages="clang-3.9", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.9', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_UUID': 'b3f0c7f6bb'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=03, Job 20", "clang++-4.0", packages="clang-4.0", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-4.0', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_UUID': '91032ad7bb'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=03, Job 21", "clang++-5.0", packages="clang-5.0", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-5.0', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_UUID': '472b07b9fc'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++-6.0 CXXSTD=03, Job 22", "clang++-6.0", packages="clang-6.0", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-6.0', 'CXXSTD': '03,11,14,17', 'DRONE_JOB_UUID': '12c6fc06c9'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++-7 CXXSTD=03,11 Job 23", "clang++-7", packages="clang-7", llvm_os="xenial", llvm_ver="7", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-7', 'CXXSTD': '03,11,14,17', 'DRONE_JOB_UUID': 'd435a6cdd7'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++-8 CXXSTD=03,11 Job 24", "clang++-8", packages="clang-8", llvm_os="xenial", llvm_ver="8", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-8', 'CXXSTD': '03,11,14,17', 'DRONE_JOB_UUID': '4d134bc072'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++-9 CXXSTD=03,11 Job 25", "clang++-9", packages="clang-9", llvm_os="xenial", llvm_ver="9", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-9', 'CXXSTD': '03,11,14,17,2a', 'DRONE_JOB_UUID': 'f6e1126ced'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++-10 CXXSTD=03,1 Job 26", "clang++-10", packages="clang-10", llvm_os="xenial", llvm_ver="10", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-10', 'CXXSTD': '03,11,14,17,2a', 'DRONE_JOB_UUID': '887309d048'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++-libc++ CXXSTD= Job 27", "clang++-libc++", packages="libc++-dev", buildtype="boost", buildscript="drone", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-libc++', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_UUID': 'bc33ea4e26'}, globalenv=globalenv),
osx_cxx("TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,1 Job 28", "clang++", packages="", buildtype="boost", buildscript="drone", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_UUID': '0a57cb53ba'}, globalenv=globalenv),
linux_cxx("CMAKE_TEST=1 Job 29", "g++", packages="", buildtype="cmake-test-script", buildscript="drone", image=linuxglobalimage, environment={'CMAKE_TEST': '1', 'DRONE_JOB_UUID': '7719a1c782'}, globalenv=globalenv),
linux_cxx("CMAKE_SUBDIR_TEST=1 Job 30", "g++", packages="", buildtype="cmake-subdir-script", buildscript="drone", image=linuxglobalimage, environment={'CMAKE_SUBDIR_TEST': '1', 'DRONE_JOB_UUID': '22d200f867'}, globalenv=globalenv),
linux_cxx("CMAKE_INSTALL_TEST=1 Job 31", "g++", packages="", buildtype="cmake-install-script", buildscript="drone", image=linuxglobalimage, environment={'CMAKE_INSTALL_TEST': '1', 'DRONE_JOB_UUID': '632667547e'}, globalenv=globalenv),
]
# from https://github.com/boostorg/boost-ci
load("@boost_ci//ci/drone/:functions.star", "linux_cxx","windows_cxx","osx_cxx","freebsd_cxx")

88
.drone/drone.sh Executable file
View File

@ -0,0 +1,88 @@
#!/bin/bash
set -ex
export TRAVIS_BUILD_DIR=$(pwd)
export DRONE_BUILD_DIR=$(pwd)
export TRAVIS_BRANCH=$DRONE_BRANCH
export VCS_COMMIT_ID=$DRONE_COMMIT
export GIT_COMMIT=$DRONE_COMMIT
export REPO_NAME=$DRONE_REPO
export PATH=~/.local/bin:/usr/local/bin:$PATH
if [ "$DRONE_JOB_BUILDTYPE" == "boost" ]; then
echo '==================================> INSTALL'
BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
cd ..
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
cd boost-root
git submodule update --init tools/boostdep
cp -r $TRAVIS_BUILD_DIR/* libs/preprocessor
python tools/boostdep/depinst/depinst.py preprocessor
./bootstrap.sh
./b2 headers
echo '==================================> SCRIPT'
echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam
./b2 libs/preprocessor/test -j 3 toolset=$TOOLSET cxxstd=$CXXSTD $ADDRMD
elif [ "$DRONE_JOB_BUILDTYPE" == "cmake-install-script" ]; then
echo '==================================> INSTALL'
BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
cd ..
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
cd boost-root
git submodule update --init tools/boostdep
cp -r $TRAVIS_BUILD_DIR/* libs/preprocessor
python tools/boostdep/depinst/depinst.py preprocessor
./bootstrap.sh
./b2 headers
echo '==================================> SCRIPT'
mkdir __build__ && cd __build__
cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES=preprocessor -DCMAKE_INSTALL_PREFIX=~/.local ..
cmake --build . --target install
cd ../libs/preprocessor/test/cmake_install_test && mkdir __build__ && cd __build__
cmake -DCMAKE_INSTALL_PREFIX=~/.local ..
cmake --build .
cmake --build . --target check
elif [ "$DRONE_JOB_BUILDTYPE" == "cmake-subdir-script" ]; then
echo '==================================> INSTALL'
true
echo '==================================> SCRIPT'
cd test/cmake_subdir_test && mkdir __build__ && cd __build__
cmake ..
cmake --build .
cmake --build . --target check
elif [ "$DRONE_JOB_BUILDTYPE" == "cmake-test-script" ]; then
echo '==================================> INSTALL'
BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
cd ..
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
cd boost-root
git submodule update --init tools/boostdep
cp -r $TRAVIS_BUILD_DIR/* libs/preprocessor
python tools/boostdep/depinst/depinst.py preprocessor
./bootstrap.sh
./b2 headers
echo '==================================> SCRIPT'
mkdir __build__ && cd __build__
cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES=preprocessor ..
ctest --output-on-failure -R boost_preprocessor
fi

643
.github/workflows/ci.yml vendored Normal file
View File

@ -0,0 +1,643 @@
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: "03,11"
container: ubuntu:18.04
os: ubuntu-latest
install: g++-4.8
- toolset: gcc-5
cxxstd: "03,11,14,1z"
container: ubuntu:18.04
os: ubuntu-latest
install: g++-5
- toolset: gcc-6
cxxstd: "03,11,14,1z"
container: ubuntu:18.04
os: ubuntu-latest
install: g++-6
- toolset: gcc-7
cxxstd: "03,11,14,17"
container: ubuntu:18.04
os: ubuntu-latest
install: g++-7
- toolset: gcc-8
cxxstd: "03,11,14,17,2a"
container: ubuntu:18.04
os: ubuntu-latest
install: g++-8
- toolset: gcc-9
cxxstd: "03,11,14,17,2a"
container: ubuntu:20.04
os: ubuntu-latest
- toolset: gcc-10
cxxstd: "03,11,14,17,2a"
container: ubuntu:20.04
os: ubuntu-latest
install: g++-10
- toolset: gcc-11
cxxstd: "03,11,14,17,2a"
os: ubuntu-22.04
install: g++-11
- toolset: gcc-12
cxxstd: "03,11,14,17,20,2b"
os: ubuntu-22.04
install: g++-12
- toolset: gcc-13
cxxstd: "03,11,14,17,20,2b"
container: ubuntu:24.04
os: ubuntu-latest
install: g++-13
- toolset: gcc-14
cxxstd: "03,11,14,17,20,2b"
container: ubuntu:24.04
os: ubuntu-latest
install: g++-14
- toolset: clang
compiler: clang++-3.9
cxxstd: "03,11,14"
container: ubuntu:18.04
os: ubuntu-latest
install: clang-3.9
- toolset: clang
compiler: clang++-4.0
cxxstd: "03,11,14"
container: ubuntu:18.04
os: ubuntu-latest
install: clang-4.0
- toolset: clang
compiler: clang++-5.0
cxxstd: "03,11,14,1z"
container: ubuntu:18.04
os: ubuntu-latest
install: clang-5.0
- toolset: clang
compiler: clang++-6.0
cxxstd: "03,11,14,17"
container: ubuntu:20.04
os: ubuntu-latest
install: clang-6.0
- toolset: clang
compiler: clang++-7
cxxstd: "03,11,14,17"
container: ubuntu:20.04
os: ubuntu-latest
install: clang-7
- toolset: clang
compiler: clang++-8
cxxstd: "03,11,14,17,2a"
container: ubuntu:20.04
os: ubuntu-latest
install: clang-8
- toolset: clang
compiler: clang++-9
cxxstd: "03,11,14,17,2a"
container: ubuntu:20.04
os: ubuntu-latest
install: clang-9
- toolset: clang
compiler: clang++-10
cxxstd: "03,11,14,17,2a"
container: ubuntu:20.04
os: ubuntu-latest
install: clang-10
- toolset: clang
compiler: clang++-11
cxxstd: "03,11,14,17,2a"
container: ubuntu:20.04
os: ubuntu-latest
install: clang-11
- toolset: clang
compiler: clang++-12
cxxstd: "03,11,14,17,2a"
container: ubuntu:20.04
os: ubuntu-latest
install: clang-12
- toolset: clang
compiler: clang++-13
cxxstd: "03,11,14,17,20,2b"
container: ubuntu:22.04
os: ubuntu-latest
install: clang-13
- toolset: clang
compiler: clang++-14
cxxstd: "03,11,14,17,20,2b"
container: ubuntu:22.04
os: ubuntu-latest
install: clang-14
- toolset: clang
compiler: clang++-15
cxxstd: "03,11,14,17,20,2b"
container: ubuntu:22.04
os: ubuntu-latest
install: clang-15
- toolset: clang
compiler: clang++-16
cxxstd: "03,11,14,17,20,2b"
container: ubuntu:24.04
os: ubuntu-latest
install: clang-16
- toolset: clang
compiler: clang++-17
cxxstd: "03,11,14,17,20,2b"
container: ubuntu:24.04
os: ubuntu-latest
install: clang-17
- toolset: clang
compiler: clang++-18
cxxstd: "03,11,14,17,20,2b"
container: ubuntu:24.04
os: ubuntu-latest
install: clang-18
- toolset: clang
cxxstd: "03,11,14,17,20,2b"
os: macos-13
- toolset: clang
cxxstd: "03,11,14,17,20,2b"
os: macos-14
- toolset: clang
cxxstd: "03,11,14,17,20,2b"
os: macos-15
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 --git_args "--jobs 3" $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
./b2 -j3 libs/$LIBRARY/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} variant=debug,release
windows:
strategy:
fail-fast: false
matrix:
include:
- toolset: msvc-14.0
cxxstd: "14,latest"
addrmd: 32,64
os: windows-2019
- toolset: msvc-14.2
cxxstd: "14,17,20,latest"
addrmd: 32,64
os: windows-2019
- toolset: msvc-14.3
cxxstd: "14,17,20,latest"
addrmd: 32,64
os: windows-2022
- toolset: clang-win
cxxstd: "14,17,latest"
addrmd: 32,64
os: windows-2022
- toolset: gcc
cxxstd: "03,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 --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-22.04
- os: ubuntu-24.04
- os: macos-13
- os: macos-14
- os: macos-15
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-22.04
- os: ubuntu-24.04
- os: macos-13
- os: macos-14
- os: macos-15
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-22.04
- os: ubuntu-24.04
- os: macos-13
- os: macos-14
- os: macos-15
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-2022
- os: windows-2025
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-2022
- os: windows-2025
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-2022
- os: windows-2025
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

View File

@ -302,8 +302,9 @@ matrix:
env: CMAKE_TEST=1
script:
- mkdir __build__ && cd __build__
- cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES=preprocessor ..
- ctest --output-on-failure -R boost_preprocessor
- cmake -DBUILD_TESTING=ON -DBOOST_INCLUDE_LIBRARIES=preprocessor ..
- cmake --build . --target tests
- ctest --output-on-failure
- os: linux
env: CMAKE_SUBDIR_TEST=1
@ -317,8 +318,9 @@ matrix:
- os: linux
env: CMAKE_INSTALL_TEST=1
script:
- pip install --user cmake
- mkdir __build__ && cd __build__
- cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES=preprocessor -DCMAKE_INSTALL_PREFIX=~/.local ..
- cmake -DBOOST_INCLUDE_LIBRARIES=preprocessor -DCMAKE_INSTALL_PREFIX=~/.local ..
- cmake --build . --target install
- cd ../libs/preprocessor/test/cmake_install_test && mkdir __build__ && cd __build__
- cmake -DCMAKE_INSTALL_PREFIX=~/.local ..

View File

@ -11,13 +11,6 @@ add_library(Boost::preprocessor ALIAS boost_preprocessor)
target_include_directories(boost_preprocessor INTERFACE include)
if(BOOST_SUPERPROJECT_VERSION)
include(BoostInstall)
boost_install(TARGETS boost_preprocessor HEADER_DIRECTORY include/)
endif()
if(BUILD_TESTING)
add_subdirectory(test)

18
build.jam Normal file
View File

@ -0,0 +1,18 @@
# 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 ;
project /boost/preprocessor
;
explicit
[ alias boost_preprocessor : : :
: <include>include <library>$(boost_dependencies) ]
[ alias all : boost_preprocessor test ]
;
call-if : boost-library preprocessor
;

View File

@ -83,7 +83,7 @@
# undef BOOST_PP_VARIADICS_MSVC
# endif
# define BOOST_PP_VARIADICS 1
# if defined _MSC_VER && _MSC_VER >= 1400 && !defined(__clang__) && (defined(__INTELLISENSE__) || (defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 1700) || !(defined __EDG__ || defined __GCCXML__ || (defined __NVCC__ && defined __CUDACC__) || defined __PATHSCALE__ || defined __DMC__ || defined __CODEGEARC__ || defined __BORLANDC__ || defined __MWERKS__ || defined __SUNPRO_CC || defined __HP_aCC || defined __MRC__ || defined __SC__ || defined __IBMCPP__ || defined __PGI)) && (!defined(_MSVC_TRADITIONAL) || _MSVC_TRADITIONAL)
# if defined _MSC_VER && _MSC_VER >= 1400 && !defined(__clang__) && (defined(__INTELLISENSE__) || (defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 1700) || !(defined __EDG__ || defined __GCCXML__ || defined __PATHSCALE__ || defined __DMC__ || defined __CODEGEARC__ || defined __BORLANDC__ || defined __MWERKS__ || defined __SUNPRO_CC || defined __HP_aCC || defined __MRC__ || defined __SC__ || defined __IBMCPP__ || defined __PGI)) && (!defined(_MSVC_TRADITIONAL) || _MSVC_TRADITIONAL)
# define BOOST_PP_VARIADICS_MSVC 1
# else
# define BOOST_PP_VARIADICS_MSVC 0

File diff suppressed because it is too large Load Diff

View File

@ -17,10 +17,16 @@
# /* BOOST_PP_VARIADIC_HAS_OPT */
#
# if defined(__cplusplus) && __cplusplus > 201703L
# include <boost/preprocessor/variadic/detail/has_opt.hpp>
# define BOOST_PP_VARIADIC_HAS_OPT() \
# if defined(__GNUC__) && !defined(__clang__) && __GNUC__ >= 8 && __GNUC__ < 10
# define BOOST_PP_VARIADIC_HAS_OPT() 0
# elif defined(__clang__) && __clang_major__ < 9
# define BOOST_PP_VARIADIC_HAS_OPT() 0
# else
# include <boost/preprocessor/variadic/detail/has_opt.hpp>
# define BOOST_PP_VARIADIC_HAS_OPT() \
BOOST_PP_VARIADIC_HAS_OPT_ELEM2(BOOST_PP_VARIADIC_HAS_OPT_FUNCTION(?),) \
/**/
# endif
# else
# define BOOST_PP_VARIADIC_HAS_OPT() 0
# endif

View File

@ -10,6 +10,8 @@
"Preprocessor"
],
"maintainers": [
"Paul Mensonides <pmenso57 -at- comcast.net>"
]
"Paul Mensonides <pmenso57 -at- comcast.net>",
"Edward Diener <eld -at- tropicsoft.com>"
],
"cxxstd": "03"
}

View File

@ -1,4 +1,4 @@
# Copyright 2018, 2019 Peter Dimov
# Copyright 2018, 2019, 2022 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
@ -11,23 +11,30 @@ endif()
enable_language(C)
set(tests_common arithmetic array comparison control debug facilities list logical punctuation selection seq slot stringize tuple variadic isempty)
set(tests_common_fail isempty_variadic_standard_failure isempty_variadic_standard_failure2)
set(tests_c ${tests_common})
set(tests_cpp ${tests_common} iteration repetition quick)
set(tests_cpp ${tests_common} iteration repetition checkempty vaopt quick)
set(BOOST_TEST_LINK_LIBRARIES Boost::preprocessor)
include_directories(../../..) # for `include <libs/preprocessor/...>` to work
set(BOOST_TEST_INCLUDE_DIRECTORIES .)
foreach(test IN LISTS tests_c)
boost_test(TYPE compile SOURCES ${test}.c)
boost_test(TYPE compile NAME ${test}_c_nvm SOURCES ${test}.c COMPILE_DEFINITIONS BOOST_PP_VARIADICS=0)
boost_test(TYPE compile SOURCES ${test}.c NAME ${test}_c)
endforeach()
foreach(test IN LISTS tests_cpp)
boost_test(TYPE compile SOURCES ${test}.cpp)
boost_test(TYPE compile NAME ${test}_cpp_nvm SOURCES ${test}.cpp COMPILE_DEFINITIONS BOOST_PP_VARIADICS=0)
endforeach()
foreach(test IN LISTS tests_common_fail)
boost_test(TYPE compile-fail SOURCES ${test}.c NAME ${test}_c)
boost_test(TYPE compile-fail SOURCES ${test}.cpp)
endforeach()
boost_test(TYPE run SOURCES config_info.cpp)

View File

@ -16,6 +16,7 @@ project preprocessor_tests : requirements <warnings>on
<toolset>gcc-4.5.2:<warnings>all
<toolset>gcc-4.5.2:<cxxflags>-Wno-variadic-macros
<toolset>msvc:<warnings>all
<include>.
;
alias preprocessor : :

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/arithmetic.cxx>
# include "arithmetic.cxx"

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/arithmetic.cxx>
# include "arithmetic.cxx"

View File

@ -11,7 +11,7 @@
#
# include <boost/preprocessor/config/limits.hpp>
# include <boost/preprocessor/arithmetic.hpp>
# include <libs/preprocessor/test/test.h>
# include "test.h"
/* addition */

View File

@ -11,4 +11,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/array.cxx>
# include "array.cxx"

View File

@ -11,4 +11,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/array.cxx>
# include "array.cxx"

View File

@ -13,7 +13,7 @@
#
# include <boost/preprocessor/config/limits.hpp>
# include <boost/preprocessor/array.hpp>
# include <libs/preprocessor/test/test.h>
# include "test.h"
# include <boost/preprocessor/facilities/is_empty.hpp>
# include <boost/preprocessor/list/at.hpp>
# include <boost/preprocessor/list/size.hpp>

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/checkempty.cxx>
# include "checkempty.cxx"

View File

@ -9,7 +9,7 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/test.h>
# include "test.h"
# include <boost/preprocessor/facilities/check_empty.hpp>
# if BOOST_PP_VARIADIC_HAS_OPT()

View File

@ -9,7 +9,7 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/test_macro.h>
# include "test_macro.h"
#if defined(__clang__) && defined(__CUDACC__) && defined(__CUDA__)

View File

@ -9,5 +9,5 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/comparison.cxx>
# include "comparison.cxx"

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/comparison.cxx>
# include "comparison.cxx"

View File

@ -11,7 +11,7 @@
#
# include <boost/preprocessor/config/limits.hpp>
# include <boost/preprocessor/comparison.hpp>
# include <libs/preprocessor/test/test.h>
# include "test.h"
/* equality */

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/control.cxx>
# include "control.cxx"

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/control.cxx>
# include "control.cxx"

View File

@ -13,7 +13,7 @@
# include <boost/preprocessor/arithmetic/add.hpp>
# include <boost/preprocessor/arithmetic/dec.hpp>
# include <boost/preprocessor/control.hpp>
# include <libs/preprocessor/test/test.h>
# include "test.h"
# define TR(x) 1

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/debug.cxx>
# include "debug.cxx"

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/debug.cxx>
# include "debug.cxx"

View File

@ -10,7 +10,7 @@
# /* See http://www.boost.org for most recent version. */
#
# include <boost/preprocessor/debug.hpp>
# include <libs/preprocessor/test/test.h>
# include "test.h"
BEGIN sizeof(BOOST_PP_ASSERT_MSG(0, "text") "") / sizeof(char) != 1 END
BEGIN sizeof(BOOST_PP_ASSERT_MSG(1, "text") "") / sizeof(char) == 1 END

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/facilities.cxx>
# include "facilities.cxx"

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/facilities.cxx>
# include "facilities.cxx"

View File

@ -13,7 +13,7 @@
# include <boost/preprocessor/facilities.hpp>
# include <boost/preprocessor/arithmetic/add.hpp>
# include <boost/preprocessor/arithmetic/mul.hpp>
# include <libs/preprocessor/test/test.h>
# include "test.h"
BEGIN BOOST_PP_APPLY(BOOST_PP_NIL) 0 == 0 END
BEGIN BOOST_PP_APPLY((0)) == 0 END

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/isempty.cxx>
# include "isempty.cxx"

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/isempty.cxx>
# include "isempty.cxx"

View File

@ -15,7 +15,7 @@
# include <boost/preprocessor/facilities/empty.hpp>
# include <boost/preprocessor/facilities/is_empty.hpp>
# include <libs/preprocessor/test/test.h>
# include "test.h"
#define DATA
#define OBJECT OBJECT2

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/isempty_variadic_standard_failure.cxx>
# include "isempty_variadic_standard_failure.cxx"

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/isempty_variadic_standard_failure.cxx>
# include "isempty_variadic_standard_failure.cxx"

View File

@ -10,7 +10,7 @@
# /* See http://www.boost.org for most recent version. */
#
# include <boost/preprocessor/facilities/is_empty.hpp>
# include <libs/preprocessor/test/test.h>
# include "test.h"
#if (BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()) && !BOOST_PP_VARIADICS_MSVC

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/isempty_variadic_standard_failure2.cxx>
# include "isempty_variadic_standard_failure2.cxx"

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/isempty_variadic_standard_failure2.cxx>
# include "isempty_variadic_standard_failure2.cxx"

View File

@ -10,7 +10,7 @@
# /* See http://www.boost.org for most recent version. */
#
# include <boost/preprocessor/facilities/is_empty.hpp>
# include <libs/preprocessor/test/test.h>
# include "test.h"
#if (BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()) && !BOOST_PP_VARIADICS_MSVC

View File

@ -13,7 +13,7 @@
#
# if !BOOST_PP_IS_SELFISH
#
# include <libs/preprocessor/test/iteration.h>
# include "iteration.h"
#
# define TEST(n) BEGIN n == n END
#
@ -37,7 +37,7 @@
#
# endif
#
# define BOOST_PP_INDIRECT_SELF <libs/preprocessor/test/iteration.cpp>
# define BOOST_PP_INDIRECT_SELF "iteration.cpp"
# include BOOST_PP_INCLUDE_SELF()
#
# else

View File

@ -16,19 +16,19 @@
# include <boost/preprocessor/control/expr_iif.hpp>
# include <boost/preprocessor/iteration.hpp>
# include <boost/preprocessor/logical/bitor.hpp>
# include <libs/preprocessor/test/test.h>
# include "test.h"
#
# define NO_FLAGS
#
# define BOOST_PP_ITERATION_PARAMS_1 (3, (1, 10, <libs/preprocessor/test/iteration.h>))
# define BOOST_PP_ITERATION_PARAMS_1 (3, (1, 10, "iteration.h"))
# include BOOST_PP_ITERATE()
#
# undef NO_FLAGS
#
# define BOOST_PP_ITERATION_PARAMS_1 (4, (1, 5, <libs/preprocessor/test/iteration.h>, 0x0001))
# define BOOST_PP_ITERATION_PARAMS_1 (4, (1, 5, "iteration.h", 0x0001))
# include BOOST_PP_ITERATE()
#
# define BOOST_PP_ITERATION_PARAMS_1 (4, (1, 5, <libs/preprocessor/test/iteration.h>, 0x0002))
# define BOOST_PP_ITERATION_PARAMS_1 (4, (1, 5, "iteration.h", 0x0002))
# include BOOST_PP_ITERATE()
#
# if BOOST_PP_LIMIT_ITERATION == 512
@ -53,7 +53,7 @@
) \
/* */
#
# define BOOST_PP_ITERATION_PARAMS_1 (4, (0, 512, <libs/preprocessor/test/iteration.h>, 0x0003))
# define BOOST_PP_ITERATION_PARAMS_1 (4, (0, 512, "iteration.h", 0x0003))
# include BOOST_PP_ITERATE()
#
# undef ITER100S
@ -78,7 +78,7 @@
) \
/* */
#
# define BOOST_PP_ITERATION_PARAMS_1 (4, (512, 0, <libs/preprocessor/test/iteration.h>, 0x0004))
# define BOOST_PP_ITERATION_PARAMS_1 (4, (512, 0, "iteration.h", 0x0004))
# include BOOST_PP_ITERATE()
#
# undef ITER50S
@ -127,7 +127,7 @@
) \
/* */
#
# define BOOST_PP_ITERATION_PARAMS_1 (4, (0, 1024, <libs/preprocessor/test/iteration.h>, 0x0005))
# define BOOST_PP_ITERATION_PARAMS_1 (4, (0, 1024, "iteration.h", 0x0005))
# include BOOST_PP_ITERATE()
#
# undef ITER100SA
@ -172,7 +172,7 @@
) \
/* */
#
# define BOOST_PP_ITERATION_PARAMS_1 (4, (1024, 0, <libs/preprocessor/test/iteration.h>, 0x0006))
# define BOOST_PP_ITERATION_PARAMS_1 (4, (1024, 0, "iteration.h", 0x0006))
# include BOOST_PP_ITERATE()
#
# undef ITER50SA
@ -197,7 +197,7 @@ struct BOOST_PP_CAT(Y, BOOST_PP_ITERATION()) { };
# elif BOOST_PP_ITERATION_DEPTH() == 1 \
&& BOOST_PP_ITERATION_FLAGS() == 0x0002
# define BOOST_PP_ITERATION_PARAMS_2 (3, (1, BOOST_PP_ITERATION(), <libs/preprocessor/test/iteration.h>))
# define BOOST_PP_ITERATION_PARAMS_2 (3, (1, BOOST_PP_ITERATION(), "iteration.h"))
# include BOOST_PP_ITERATE()
# elif BOOST_PP_ITERATION_DEPTH() == 1 \

View File

@ -11,4 +11,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/list.cxx>
# include "list.cxx"

View File

@ -11,4 +11,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/list.cxx>
# include "list.cxx"

View File

@ -26,7 +26,7 @@
# include <boost/preprocessor/seq/elem.hpp>
# include <boost/preprocessor/seq/size.hpp>
# include <boost/preprocessor/variadic/elem.hpp>
# include <libs/preprocessor/test/test.h>
# include "test.h"
# define LISTNIL BOOST_PP_NIL
# define LIST (4, (1, (5, (2, BOOST_PP_NIL))))

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/logical.cxx>
# include "logical.cxx"

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/logical.cxx>
# include "logical.cxx"

View File

@ -11,7 +11,7 @@
#
# include <boost/preprocessor/config/limits.hpp>
# include <boost/preprocessor/logical.hpp>
# include <libs/preprocessor/test/test.h>
# include "test.h"
BEGIN BOOST_PP_NOT(0) == 1 END
BEGIN BOOST_PP_NOT(2) == 0 END

View File

@ -11,4 +11,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/punctuation.cxx>
# include "punctuation.cxx"

View File

@ -11,4 +11,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/punctuation.cxx>
# include "punctuation.cxx"

View File

@ -10,7 +10,7 @@
# /* See http://www.boost.org for most recent version. */
#
# include <boost/preprocessor/punctuation.hpp>
# include <libs/preprocessor/test/test.h>
# include "test.h"
# define A_TUPLE (*,#,zz)
# define A_TUPLE2 (*,#,(zz,44,(e7)))

View File

@ -4,7 +4,7 @@
// https://www.boost.org/LICENSE_1_0.txt
#include <boost/preprocessor/comparison.hpp>
#include "test_macro.h"
# include "test_macro.h"
/* equality */

View File

@ -18,7 +18,7 @@
# include <boost/preprocessor/facilities/intercept.hpp>
# include <boost/preprocessor/logical/bitor.hpp>
# include <boost/preprocessor/repetition.hpp>
# include <libs/preprocessor/test/test.h>
# include "test.h"
# define MAX 10

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/selection.cxx>
# include "selection.cxx"

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/selection.cxx>
# include "selection.cxx"

View File

@ -11,7 +11,7 @@
#
# include <boost/preprocessor/config/limits.hpp>
# include <boost/preprocessor/selection.hpp>
# include <libs/preprocessor/test/test.h>
# include "test.h"
BEGIN BOOST_PP_MAX(2, 2) == 2 END
BEGIN BOOST_PP_MAX(2, 1) == 2 END

View File

@ -11,4 +11,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/seq.cxx>
# include "seq.cxx"

View File

@ -11,4 +11,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/seq.cxx>
# include "seq.cxx"

View File

@ -36,7 +36,7 @@
# include <boost/preprocessor/variadic/elem.hpp>
# include <boost/preprocessor/variadic/size.hpp>
# include <boost/preprocessor/variadic/has_opt.hpp>
# include <libs/preprocessor/test/test.h>
# include "test.h"
# define SEQ_NONE ()
# define SEQ (4)(1)(5)(2)

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/slot.cxx>
# include "slot.cxx"

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/slot.cxx>
# include "slot.cxx"

View File

@ -10,7 +10,7 @@
# /* See http://www.boost.org for most recent version. */
#
# include <boost/preprocessor/slot.hpp>
# include <libs/preprocessor/test/test.h>
# include "test.h"
# include <boost/preprocessor/slot/counter.hpp>
# define X() 4

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/stringize.cxx>
# include "stringize.cxx"

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/stringize.cxx>
# include "stringize.cxx"

View File

@ -15,7 +15,7 @@
# if !defined __cplusplus
#include <wchar.h>
#endif
# include <libs/preprocessor/test/test.h>
# include "test.h"
#define VDATA 1,2,3,4
#define NDATA

View File

@ -14,7 +14,7 @@
# ifndef BOOST_LIBS_PREPROCESSOR_REGRESSION_TEST_H
# define BOOST_LIBS_PREPROCESSOR_REGRESSION_TEST_H
#
# include <libs/preprocessor/test/test_macro.h>
# include <libs/preprocessor/test/test_main.h>
# include "test_macro.h"
#include "test_main.h"
#
# endif

View File

@ -11,4 +11,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/tuple.cxx>
# include "tuple.cxx"

View File

@ -11,4 +11,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/tuple.cxx>
# include "tuple.cxx"

View File

@ -25,8 +25,8 @@
# include <boost/preprocessor/variadic/size.hpp>
# include <boost/preprocessor/variadic/elem.hpp>
# include <boost/preprocessor/variadic/has_opt.hpp>
# include <libs/preprocessor/test/test.h>
# include <libs/preprocessor/test/tuple_elem_bug_test.cxx>
# include "test.h"
# include "tuple_elem_bug_test.cxx"
# define TUPLE (0, 1, 2, 3, 4, 5)
# define TUPLE_NONE ()

View File

@ -12,7 +12,7 @@
# include <boost/preprocessor/cat.hpp>
# include <boost/preprocessor/control/if.hpp>
# include <boost/preprocessor/tuple.hpp>
# include <libs/preprocessor/test/test.h>
# include "test.h"
#define TN_GEN_ONE(p) (1)
#define TN_GEN_ZERO(p) (0)

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/vaopt.cxx>
# include "vaopt.cxx"

View File

@ -9,7 +9,7 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/test.h>
# include "test.h"
# include <boost/preprocessor/variadic/has_opt.hpp>
# if BOOST_PP_VARIADIC_HAS_OPT()

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/variadic.cxx>
# include "variadic.cxx"

View File

@ -9,4 +9,4 @@
#
# /* See http://www.boost.org for most recent version. */
#
# include <libs/preprocessor/test/variadic.cxx>
# include "variadic.cxx"

View File

@ -19,7 +19,7 @@
# include <boost/preprocessor/seq/size.hpp>
# include <boost/preprocessor/tuple/size.hpp>
# include <boost/preprocessor/tuple/elem.hpp>
# include <libs/preprocessor/test/test.h>
# include "test.h"
#define VDATA 0,1,2,3,4,5,6
#define VDATA_LARGE 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32