From ae42ebda764ebad8fbb0c298f5f23cdb95a9ec92 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Thu, 14 Apr 2022 13:41:49 +0300 Subject: [PATCH 01/38] Update version --- include/boost/lambda2/lambda2.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/lambda2/lambda2.hpp b/include/boost/lambda2/lambda2.hpp index b1f57f0..d5c898b 100644 --- a/include/boost/lambda2/lambda2.hpp +++ b/include/boost/lambda2/lambda2.hpp @@ -14,7 +14,7 @@ // Same format as BOOST_VERSION: // major * 100000 + minor * 100 + patch -#define BOOST_LAMBDA2_VERSION 107900 +#define BOOST_LAMBDA2_VERSION 108000 namespace boost { From c618d6902b26ebfc7bfeab040f00ffafb40a195c Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Thu, 14 Apr 2022 14:02:35 +0300 Subject: [PATCH 02/38] Re-enable VS2017 --- .github/workflows/ci.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f51be10..47e54ce 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -146,7 +146,7 @@ jobs: - toolset: msvc-14.1 cxxstd: "14,17,latest" addrmd: 32,64 - os: windows-2016 + os: windows-2019 - toolset: msvc-14.2 cxxstd: "14,17,latest" addrmd: 32,64 @@ -165,6 +165,12 @@ jobs: steps: - uses: actions/checkout@v2 + - name: Install Visual Studio 2017 + if: matrix.toolset == 'msvc-14.1' + run: | + choco install visualstudio2017community + choco install visualstudio2017-workload-universal + - name: Setup Boost shell: cmd run: | From 8c6c1166c4e8966b8b32859cb2b88f9e3b447aa3 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Thu, 14 Apr 2022 14:21:41 +0300 Subject: [PATCH 03/38] Update ci.yml --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 47e54ce..9e95b4d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -148,11 +148,11 @@ jobs: addrmd: 32,64 os: windows-2019 - toolset: msvc-14.2 - cxxstd: "14,17,latest" + cxxstd: "14,17,20,latest" addrmd: 32,64 os: windows-2019 - toolset: msvc-14.3 - cxxstd: "14,17,latest" + cxxstd: "14,17,20,latest" addrmd: 32,64 os: windows-2022 - toolset: gcc From fd1a3e45437d643430e9a737bbe387d5d7d3bdb0 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Thu, 14 Apr 2022 16:15:13 +0300 Subject: [PATCH 04/38] Remove msvc-14.1 from GHA, add clang-win --- .github/workflows/ci.yml | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9e95b4d..0fd61bb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -143,10 +143,6 @@ jobs: cxxstd: "14" addrmd: 32,64 os: windows-2019 - - toolset: msvc-14.1 - cxxstd: "14,17,latest" - addrmd: 32,64 - os: windows-2019 - toolset: msvc-14.2 cxxstd: "14,17,20,latest" addrmd: 32,64 @@ -155,6 +151,10 @@ jobs: 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 @@ -165,12 +165,6 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Install Visual Studio 2017 - if: matrix.toolset == 'msvc-14.1' - run: | - choco install visualstudio2017community - choco install visualstudio2017-workload-universal - - name: Setup Boost shell: cmd run: | @@ -197,4 +191,4 @@ jobs: shell: cmd run: | cd ../boost-root - b2 -j3 libs/%LIBRARY%/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} address-model=${{matrix.addrmd}} variant=debug,release + b2 -j3 libs/%LIBRARY%/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} address-model=${{matrix.addrmd}} variant=debug,release embed-manifest-via=linker From b55fdcb9fab0276f325c516f4bd600d63ab01dfd Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Sun, 14 Aug 2022 18:45:43 +0300 Subject: [PATCH 05/38] Update version --- include/boost/lambda2/lambda2.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/lambda2/lambda2.hpp b/include/boost/lambda2/lambda2.hpp index d5c898b..c089962 100644 --- a/include/boost/lambda2/lambda2.hpp +++ b/include/boost/lambda2/lambda2.hpp @@ -14,7 +14,7 @@ // Same format as BOOST_VERSION: // major * 100000 + minor * 100 + patch -#define BOOST_LAMBDA2_VERSION 108000 +#define BOOST_LAMBDA2_VERSION 108100 namespace boost { From d72468479f3fe48168a59077c3388ef21a63337b Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Mon, 15 Aug 2022 19:08:24 +0300 Subject: [PATCH 06/38] Change macos-10.15 to macos-11 in ci.yml --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0fd61bb..873ef03 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -91,7 +91,7 @@ jobs: os: ubuntu-20.04 - toolset: clang cxxstd: "03,11,14,17,2a" - os: macos-10.15 + os: macos-11 runs-on: ${{matrix.os}} From 7824b74a27f09f3809b02bdc36c50a0d6174cbdf Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Mon, 15 Aug 2022 19:22:35 +0300 Subject: [PATCH 07/38] Add CMake tests to ci.yml --- .github/workflows/ci.yml | 159 +++++++++++++++++++++++++ test/CMakeLists.txt | 11 ++ test/cmake_install_test/CMakeLists.txt | 17 +++ test/cmake_subdir_test/CMakeLists.txt | 17 +++ test/quick.cpp | 8 +- 5 files changed, 206 insertions(+), 6 deletions(-) create mode 100644 test/CMakeLists.txt create mode 100644 test/cmake_install_test/CMakeLists.txt create mode 100644 test/cmake_subdir_test/CMakeLists.txt diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 873ef03..a7f8623 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -192,3 +192,162 @@ jobs: 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-18.04 + - os: ubuntu-20.04 + - os: ubuntu-22.04 + - os: macos-11 + + runs-on: ${{matrix.os}} + + steps: + - uses: actions/checkout@v2 + + - name: Install packages + if: matrix.install + run: sudo apt 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-18.04 + - os: ubuntu-20.04 + - os: ubuntu-22.04 + - os: macos-11 + + runs-on: ${{matrix.os}} + + steps: + - uses: actions/checkout@v2 + + - name: Install packages + if: matrix.install + run: sudo apt 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-18.04 + - os: ubuntu-20.04 + - os: ubuntu-22.04 + - os: macos-11 + + runs-on: ${{matrix.os}} + + steps: + - uses: actions/checkout@v2 + + - name: Install packages + if: matrix.install + run: sudo apt 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 diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt new file mode 100644 index 0000000..0f604d8 --- /dev/null +++ b/test/CMakeLists.txt @@ -0,0 +1,11 @@ +# 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 LINK_LIBRARIES Boost::lambda2 Boost::core) + +endif() diff --git a/test/cmake_install_test/CMakeLists.txt b/test/cmake_install_test/CMakeLists.txt new file mode 100644 index 0000000..764f03c --- /dev/null +++ b/test/cmake_install_test/CMakeLists.txt @@ -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.16) + +project(cmake_install_test LANGUAGES CXX) + +find_package(boost_lambda2 REQUIRED) + +add_executable(quick ../quick.cpp) +target_link_libraries(quick Boost::lambda2) + +enable_testing() +add_test(quick quick) + +add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $) diff --git a/test/cmake_subdir_test/CMakeLists.txt b/test/cmake_subdir_test/CMakeLists.txt new file mode 100644 index 0000000..bc6b00a --- /dev/null +++ b/test/cmake_subdir_test/CMakeLists.txt @@ -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.16) + +project(cmake_subdir_test LANGUAGES CXX) + +add_subdirectory(../.. boostorg/lambda2) + +add_executable(quick ../quick.cpp) +target_link_libraries(quick Boost::lambda2) + +enable_testing() +add_test(quick quick) + +add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $) diff --git a/test/quick.cpp b/test/quick.cpp index 32742cf..7b1e7f4 100644 --- a/test/quick.cpp +++ b/test/quick.cpp @@ -1,15 +1,11 @@ -// Copyright 2020 Peter Dimov +// Copyright 2020, 2022 Peter Dimov // Distributed under the Boost Software License, Version 1.0. // https://www.boost.org/LICENSE_1_0.txt #include -#include int main() { using namespace boost::lambda2; - - BOOST_TEST_EQ( (_1 + _2 * _3)( 1, 2, 3), 1 + 2 * 3 ); - - return boost::report_errors(); + return (_1 + _2 * _3)( 1, 2, 3) == 1 + 2 * 3? 0: 1; } From 20420e134f7a2738b7b36db24e9cfbd39e130675 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Mon, 15 Aug 2022 19:32:03 +0300 Subject: [PATCH 08/38] Add 'cxxstd' to meta/libraries.json --- meta/libraries.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/libraries.json b/meta/libraries.json index db6b29d..30378a5 100644 --- a/meta/libraries.json +++ b/meta/libraries.json @@ -10,5 +10,6 @@ "description": "A C++14 lambda library.", "category": [ "Function-objects" - ] + ], + "cxxstd": "14" } From 3f435883164058f7aeb01355fe105d2aba647e21 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Mon, 15 Aug 2022 19:32:30 +0300 Subject: [PATCH 09/38] Regenerate CMakeLists.txt --- CMakeLists.txt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 00b455c..41465a7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,9 +1,9 @@ # Generated by `boostdep --cmake lambda2` -# Copyright 2020 Peter Dimov +# Copyright 2020, 2021 Peter Dimov # Distributed under the Boost Software License, Version 1.0. # https://www.boost.org/LICENSE_1_0.txt -cmake_minimum_required(VERSION 3.5...3.16) +cmake_minimum_required(VERSION 3.8...3.20) project(boost_lambda2 VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX) @@ -12,9 +12,10 @@ add_library(Boost::lambda2 ALIAS boost_lambda2) target_include_directories(boost_lambda2 INTERFACE include) +target_compile_features(boost_lambda2 INTERFACE cxx_std_14) + if(BUILD_TESTING AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test/CMakeLists.txt") add_subdirectory(test) endif() - From 4b68743cf06516de1375b83a379b2a3af2d8e545 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Mon, 15 Aug 2022 19:55:55 +0300 Subject: [PATCH 10/38] Add gcc-12, clang-13, clang-14 to ci.yml --- .github/workflows/ci.yml | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a7f8623..2b5e56a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,21 +27,27 @@ jobs: install: g++-6 - toolset: gcc-7 cxxstd: "03,11,14,17" - os: ubuntu-18.04 + os: ubuntu-20.04 + install: g++-7 - toolset: gcc-8 cxxstd: "03,11,14,17,2a" - os: ubuntu-18.04 + os: ubuntu-20.04 install: g++-8 - toolset: gcc-9 cxxstd: "03,11,14,17,2a" os: ubuntu-20.04 - toolset: gcc-10 cxxstd: "03,11,14,17,2a" - os: ubuntu-18.04 + os: ubuntu-20.04 + install: g++-10 - toolset: gcc-11 cxxstd: "03,11,14,17,2a" - os: ubuntu-18.04 + os: ubuntu-20.04 install: g++-11 + - toolset: gcc-12 + cxxstd: "03,11,14,17,20,2b" + os: ubuntu-22.04 + install: g++-12 - toolset: clang compiler: clang++-3.9 cxxstd: "03,11,14" @@ -89,6 +95,16 @@ jobs: compiler: clang++-12 cxxstd: "03,11,14,17,2a" os: ubuntu-20.04 + - toolset: clang + compiler: clang++-13 + cxxstd: "03,11,14,17,20,2b" + os: ubuntu-22.04 + install: clang-13 + - toolset: clang + compiler: clang++-14 + cxxstd: "03,11,14,17,20,2b" + os: ubuntu-22.04 + install: clang-14 - toolset: clang cxxstd: "03,11,14,17,2a" os: macos-11 From 3ba6ab955e90118098e53f7ccc5121b2e6f0b2db Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Thu, 15 Dec 2022 17:55:58 +0200 Subject: [PATCH 11/38] Update version --- include/boost/lambda2/lambda2.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/lambda2/lambda2.hpp b/include/boost/lambda2/lambda2.hpp index c089962..de405d8 100644 --- a/include/boost/lambda2/lambda2.hpp +++ b/include/boost/lambda2/lambda2.hpp @@ -14,7 +14,7 @@ // Same format as BOOST_VERSION: // major * 100000 + minor * 100 + patch -#define BOOST_LAMBDA2_VERSION 108100 +#define BOOST_LAMBDA2_VERSION 108200 namespace boost { From 8ac931161bf44d1bec930f1bd45222ac5397f285 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Sat, 15 Apr 2023 15:20:39 +0300 Subject: [PATCH 12/38] Update version --- include/boost/lambda2/lambda2.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/lambda2/lambda2.hpp b/include/boost/lambda2/lambda2.hpp index de405d8..24484b6 100644 --- a/include/boost/lambda2/lambda2.hpp +++ b/include/boost/lambda2/lambda2.hpp @@ -14,7 +14,7 @@ // Same format as BOOST_VERSION: // major * 100000 + minor * 100 + patch -#define BOOST_LAMBDA2_VERSION 108200 +#define BOOST_LAMBDA2_VERSION 108300 namespace boost { From 29353437235fa3ff7542d3af095cdbd35e9bab98 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Sat, 15 Apr 2023 18:19:30 +0300 Subject: [PATCH 13/38] Update ci.yml --- .github/workflows/ci.yml | 51 +++++++++++++++++++++++++++------------- 1 file changed, 35 insertions(+), 16 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2b5e56a..f932f43 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,11 +19,13 @@ jobs: include: - toolset: gcc-5 cxxstd: "03,11,14,1z" - os: ubuntu-18.04 + os: ubuntu-latest + container: ubuntu:18.04 install: g++-5 - toolset: gcc-6 cxxstd: "03,11,14,1z" - os: ubuntu-18.04 + os: ubuntu-latest + container: ubuntu:18.04 install: g++-6 - toolset: gcc-7 cxxstd: "03,11,14,17" @@ -51,27 +53,30 @@ jobs: - toolset: clang compiler: clang++-3.9 cxxstd: "03,11,14" - os: ubuntu-18.04 + os: ubuntu-latest + container: ubuntu:18.04 install: clang-3.9 - toolset: clang compiler: clang++-4.0 cxxstd: "03,11,14" - os: ubuntu-18.04 + os: ubuntu-latest + container: ubuntu:18.04 install: clang-4.0 - toolset: clang compiler: clang++-5.0 cxxstd: "03,11,14,1z" - os: ubuntu-18.04 + os: ubuntu-latest + container: ubuntu:18.04 install: clang-5.0 - toolset: clang compiler: clang++-6.0 cxxstd: "03,11,14,17" - os: ubuntu-18.04 + os: ubuntu-20.04 install: clang-6.0 - toolset: clang compiler: clang++-7 cxxstd: "03,11,14,17" - os: ubuntu-18.04 + os: ubuntu-20.04 install: clang-7 - toolset: clang compiler: clang++-8 @@ -108,15 +113,29 @@ jobs: - toolset: clang cxxstd: "03,11,14,17,2a" os: macos-11 + - toolset: clang + cxxstd: "03,11,14,17,20,2b" + os: macos-12 runs-on: ${{matrix.os}} + container: ${{matrix.container}} + + defaults: + run: + shell: bash steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 + + - name: Setup container environment + if: matrix.container + run: | + apt-get update + apt-get -y install sudo python git g++ - name: Install packages if: matrix.install - run: sudo apt install ${{matrix.install}} + run: sudo apt-get -y install ${{matrix.install}} - name: Setup Boost run: | @@ -179,7 +198,7 @@ jobs: runs-on: ${{matrix.os}} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Setup Boost shell: cmd @@ -214,15 +233,15 @@ jobs: fail-fast: false matrix: include: - - os: ubuntu-18.04 - os: ubuntu-20.04 - os: ubuntu-22.04 - os: macos-11 + - os: macos-12 runs-on: ${{matrix.os}} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Install packages if: matrix.install @@ -261,15 +280,15 @@ jobs: fail-fast: false matrix: include: - - os: ubuntu-18.04 - os: ubuntu-20.04 - os: ubuntu-22.04 - os: macos-11 + - os: macos-12 runs-on: ${{matrix.os}} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Install packages if: matrix.install @@ -318,15 +337,15 @@ jobs: fail-fast: false matrix: include: - - os: ubuntu-18.04 - os: ubuntu-20.04 - os: ubuntu-22.04 - os: macos-11 + - os: macos-12 runs-on: ${{matrix.os}} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Install packages if: matrix.install From 247f6b7b58591d545031d3c7263bbbc4d0cac69b Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Sat, 12 Aug 2023 23:47:37 +0300 Subject: [PATCH 14/38] Update version --- include/boost/lambda2/lambda2.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/lambda2/lambda2.hpp b/include/boost/lambda2/lambda2.hpp index 24484b6..88818e3 100644 --- a/include/boost/lambda2/lambda2.hpp +++ b/include/boost/lambda2/lambda2.hpp @@ -14,7 +14,7 @@ // Same format as BOOST_VERSION: // major * 100000 + minor * 100 + patch -#define BOOST_LAMBDA2_VERSION 108300 +#define BOOST_LAMBDA2_VERSION 108400 namespace boost { From 62815a69bfaf6d0fac5ace703737e7a9b4899139 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Sun, 13 Aug 2023 01:00:21 +0300 Subject: [PATCH 15/38] Update ci.yml --- .github/workflows/ci.yml | 206 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 204 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f932f43..af23bbb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,6 +50,11 @@ jobs: cxxstd: "03,11,14,17,20,2b" os: ubuntu-22.04 install: g++-12 + - toolset: gcc-13 + cxxstd: "03,11,14,17,20,2b" + os: ubuntu-latest + container: ubuntu:23.04 + install: g++-13 - toolset: clang compiler: clang++-3.9 cxxstd: "03,11,14" @@ -110,12 +115,26 @@ jobs: cxxstd: "03,11,14,17,20,2b" os: ubuntu-22.04 install: clang-14 + - toolset: clang + compiler: clang++-15 + cxxstd: "03,11,14,17,20,2b" + os: ubuntu-22.04 + install: clang-15 + - toolset: clang + compiler: clang++-16 + cxxstd: "03,11,14,17,20,2b" + os: ubuntu-latest + container: ubuntu:23.04 + install: clang-16 - toolset: clang cxxstd: "03,11,14,17,2a" os: macos-11 - toolset: clang cxxstd: "03,11,14,17,20,2b" os: macos-12 + - toolset: clang + cxxstd: "03,11,14,17,20,2b" + os: macos-13 runs-on: ${{matrix.os}} container: ${{matrix.container}} @@ -131,7 +150,7 @@ jobs: if: matrix.container run: | apt-get update - apt-get -y install sudo python git g++ + apt-get -y install sudo python3 git g++ - name: Install packages if: matrix.install @@ -155,7 +174,7 @@ jobs: 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 + python3 tools/boostdep/depinst/depinst.py --git_args "--jobs 3" $LIBRARY ./bootstrap.sh ./b2 -d0 headers @@ -237,6 +256,7 @@ jobs: - os: ubuntu-22.04 - os: macos-11 - os: macos-12 + - os: macos-13 runs-on: ${{matrix.os}} @@ -284,6 +304,7 @@ jobs: - os: ubuntu-22.04 - os: macos-11 - os: macos-12 + - os: macos-13 runs-on: ${{matrix.os}} @@ -341,6 +362,7 @@ jobs: - os: ubuntu-22.04 - os: macos-11 - os: macos-12 + - os: macos-13 runs-on: ${{matrix.os}} @@ -386,3 +408,183 @@ jobs: run: | cd ../boost-root/__build__ ctest --output-on-failure --no-tests=error + + windows-cmake-subdir: + strategy: + fail-fast: false + matrix: + include: + - os: windows-2019 + - os: windows-2022 + + runs-on: ${{matrix.os}} + + steps: + - uses: actions/checkout@v3 + + - 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-2019 + - os: windows-2022 + + runs-on: ${{matrix.os}} + + steps: + - uses: actions/checkout@v3 + + - 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-2019 + - os: windows-2022 + + runs-on: ${{matrix.os}} + + steps: + - uses: actions/checkout@v3 + + - 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 From 2c8de60398945e49f34d297fa2a863d77a47eefa Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Tue, 19 Dec 2023 13:21:24 +0200 Subject: [PATCH 16/38] Update version --- include/boost/lambda2/lambda2.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/lambda2/lambda2.hpp b/include/boost/lambda2/lambda2.hpp index 88818e3..50754a0 100644 --- a/include/boost/lambda2/lambda2.hpp +++ b/include/boost/lambda2/lambda2.hpp @@ -14,7 +14,7 @@ // Same format as BOOST_VERSION: // major * 100000 + minor * 100 + patch -#define BOOST_LAMBDA2_VERSION 108400 +#define BOOST_LAMBDA2_VERSION 108500 namespace boost { From a17ffc25d303635fcc44dfa97d3e3c4b04e9db5e Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Tue, 19 Dec 2023 16:29:43 +0200 Subject: [PATCH 17/38] Update ci.yml --- .github/workflows/ci.yml | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index af23bbb..74f0b02 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,13 +19,13 @@ jobs: include: - toolset: gcc-5 cxxstd: "03,11,14,1z" - os: ubuntu-latest container: ubuntu:18.04 + os: ubuntu-latest install: g++-5 - toolset: gcc-6 cxxstd: "03,11,14,1z" - os: ubuntu-latest container: ubuntu:18.04 + os: ubuntu-latest install: g++-6 - toolset: gcc-7 cxxstd: "03,11,14,17" @@ -52,26 +52,26 @@ jobs: install: g++-12 - toolset: gcc-13 cxxstd: "03,11,14,17,20,2b" - os: ubuntu-latest container: ubuntu:23.04 + os: ubuntu-latest install: g++-13 - toolset: clang compiler: clang++-3.9 cxxstd: "03,11,14" - os: ubuntu-latest container: ubuntu:18.04 + os: ubuntu-latest install: clang-3.9 - toolset: clang compiler: clang++-4.0 cxxstd: "03,11,14" - os: ubuntu-latest container: ubuntu:18.04 + os: ubuntu-latest install: clang-4.0 - toolset: clang compiler: clang++-5.0 cxxstd: "03,11,14,1z" - os: ubuntu-latest container: ubuntu:18.04 + os: ubuntu-latest install: clang-5.0 - toolset: clang compiler: clang++-6.0 @@ -108,24 +108,33 @@ jobs: - toolset: clang compiler: clang++-13 cxxstd: "03,11,14,17,20,2b" - os: ubuntu-22.04 + container: ubuntu:22.04 + os: ubuntu-latest install: clang-13 - toolset: clang compiler: clang++-14 cxxstd: "03,11,14,17,20,2b" - os: ubuntu-22.04 + container: ubuntu:22.04 + os: ubuntu-latest install: clang-14 - toolset: clang compiler: clang++-15 cxxstd: "03,11,14,17,20,2b" - os: ubuntu-22.04 + container: ubuntu:22.04 + os: ubuntu-latest install: clang-15 - toolset: clang compiler: clang++-16 cxxstd: "03,11,14,17,20,2b" - os: ubuntu-latest container: ubuntu:23.04 + os: ubuntu-latest install: clang-16 + - toolset: clang + compiler: clang++-17 + cxxstd: "03,11,14,17,20,2b" + container: ubuntu:23.10 + os: ubuntu-latest + install: clang-17 - toolset: clang cxxstd: "03,11,14,17,2a" os: macos-11 @@ -194,7 +203,7 @@ jobs: matrix: include: - toolset: msvc-14.0 - cxxstd: "14" + cxxstd: "14,latest" addrmd: 32,64 os: windows-2019 - toolset: msvc-14.2 From 7958b78d457433a7dc0abbf6db63504fb0a21fd2 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Mon, 11 Mar 2024 08:38:17 -0500 Subject: [PATCH 18/38] Make the library modular usable. --- build.jam | 19 +++++++++++++++++++ test/Jamfile | 9 +++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 build.jam diff --git a/build.jam b/build.jam new file mode 100644 index 0000000..cd3b192 --- /dev/null +++ b/build.jam @@ -0,0 +1,19 @@ +# Copyright René Ferdinand Rivera Morell 2023 +# 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) + +import project ; + +project /boost/lambda2 + : common-requirements + include + ; + +explicit + [ alias boost_lambda2 ] + [ alias all : boost_lambda2 test ] + ; + +call-if : boost-library lambda2 + ; diff --git a/test/Jamfile b/test/Jamfile index a21728b..54e7aaa 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -2,10 +2,14 @@ # Distributed under the Boost Software License, Version 1.0. # https://www.boost.org/LICENSE_1_0.txt +import-search /boost/config/checks ; + import testing ; -import ../../config/checks/config : requires ; +import config : requires ; project : requirements + /boost/config//boost_config + /boost/core//boost_core extra @@ -13,7 +17,8 @@ project : requirements msvc:on clang:on - gcc:on ; + gcc:on + ; run quick.cpp ; run lambda2_test.cpp ; From 863cdf2e9636612634e57f7602f13ebfc05b7bfe Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Tue, 16 Apr 2024 22:19:00 +0300 Subject: [PATCH 19/38] Update doc/Jamfile --- doc/Jamfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/Jamfile b/doc/Jamfile index 99f744a..56b825d 100644 --- a/doc/Jamfile +++ b/doc/Jamfile @@ -2,7 +2,7 @@ # Distributed under the Boost Software License, Version 1.0. # https://www.boost.org/LICENSE_1_0.txt -import asciidoctor ; +using asciidoctor ; html lambda2.html : lambda2.adoc ; From 94a56766bb323cf6245dbfdb36b4dcea720354de Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Tue, 16 Apr 2024 22:35:22 +0300 Subject: [PATCH 20/38] Revert "Update doc/Jamfile" This reverts commit 863cdf2e9636612634e57f7602f13ebfc05b7bfe. --- doc/Jamfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/Jamfile b/doc/Jamfile index 56b825d..99f744a 100644 --- a/doc/Jamfile +++ b/doc/Jamfile @@ -2,7 +2,7 @@ # Distributed under the Boost Software License, Version 1.0. # https://www.boost.org/LICENSE_1_0.txt -using asciidoctor ; +import asciidoctor ; html lambda2.html : lambda2.adoc ; From 4118a318ca1a517f17d1980fab2a11ae13c4f2a5 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Thu, 18 Apr 2024 12:08:17 +0300 Subject: [PATCH 21/38] Update version --- include/boost/lambda2/lambda2.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/lambda2/lambda2.hpp b/include/boost/lambda2/lambda2.hpp index 50754a0..640371a 100644 --- a/include/boost/lambda2/lambda2.hpp +++ b/include/boost/lambda2/lambda2.hpp @@ -14,7 +14,7 @@ // Same format as BOOST_VERSION: // major * 100000 + minor * 100 + patch -#define BOOST_LAMBDA2_VERSION 108500 +#define BOOST_LAMBDA2_VERSION 108600 namespace boost { From 19d484e707db868b67b60692903f438f0ca63b1a Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 5 May 2024 09:00:01 -0500 Subject: [PATCH 22/38] Add requires-b2 check to top-level build file. --- build.jam | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build.jam b/build.jam index cd3b192..643c100 100644 --- a/build.jam +++ b/build.jam @@ -3,6 +3,8 @@ # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) +require-b2 5.1 ; + import project ; project /boost/lambda2 From d1fa5813262bb5430546fb113106e9936e0edd52 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 14 Jun 2024 11:33:55 -0500 Subject: [PATCH 23/38] Bump B2 require to 5.2 --- build.jam | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/build.jam b/build.jam index 643c100..178ae3f 100644 --- a/build.jam +++ b/build.jam @@ -3,9 +3,7 @@ # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) -require-b2 5.1 ; - -import project ; +require-b2 5.2 ; project /boost/lambda2 : common-requirements From ad47d9ed4fe706202117b1b926c766ea52a8fbfa Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 20 Jul 2024 19:40:17 -0500 Subject: [PATCH 24/38] Change all references to . --- test/Jamfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/Jamfile b/test/Jamfile index 54e7aaa..217a195 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -8,8 +8,8 @@ import testing ; import config : requires ; project : requirements - /boost/config//boost_config - /boost/core//boost_core + /boost/config//boost_config + /boost/core//boost_core extra From 53bbeac521ac51b7e3a41b026de82b96fb5bb625 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 20 Jul 2024 22:52:05 -0500 Subject: [PATCH 25/38] Update copyright dates. --- build.jam | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.jam b/build.jam index 178ae3f..614e207 100644 --- a/build.jam +++ b/build.jam @@ -1,4 +1,4 @@ -# Copyright René Ferdinand Rivera Morell 2023 +# 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) From a03806e4ecdcfdf3af147ccdabac71935a3a9095 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Tue, 23 Jul 2024 22:34:24 -0500 Subject: [PATCH 26/38] Move inter-lib dependencies to a project variable and into the build targets. --- build.jam | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build.jam b/build.jam index 614e207..538918c 100644 --- a/build.jam +++ b/build.jam @@ -11,9 +11,10 @@ project /boost/lambda2 ; explicit - [ alias boost_lambda2 ] + [ alias boost_lambda2 : : : : $(boost_dependencies) ] [ alias all : boost_lambda2 test ] ; call-if : boost-library lambda2 ; + From 3a982bf01938e8abb92a46a980772678c5778c53 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Sat, 17 Aug 2024 04:22:04 +0300 Subject: [PATCH 27/38] Update version --- include/boost/lambda2/lambda2.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/lambda2/lambda2.hpp b/include/boost/lambda2/lambda2.hpp index 640371a..a65cf57 100644 --- a/include/boost/lambda2/lambda2.hpp +++ b/include/boost/lambda2/lambda2.hpp @@ -14,7 +14,7 @@ // Same format as BOOST_VERSION: // major * 100000 + minor * 100 + patch -#define BOOST_LAMBDA2_VERSION 108600 +#define BOOST_LAMBDA2_VERSION 108700 namespace boost { From 97f43720a1d088b6ccecbb6d55964bdecd031bd4 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Sat, 17 Aug 2024 11:53:49 +0300 Subject: [PATCH 28/38] Update ci.yml --- .github/workflows/ci.yml | 42 ++++++++++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 74f0b02..dd71cbe 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -44,8 +44,7 @@ jobs: install: g++-10 - toolset: gcc-11 cxxstd: "03,11,14,17,2a" - os: ubuntu-20.04 - install: g++-11 + os: ubuntu-22.04 - toolset: gcc-12 cxxstd: "03,11,14,17,20,2b" os: ubuntu-22.04 @@ -55,6 +54,11 @@ jobs: container: ubuntu:23.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" @@ -136,14 +140,20 @@ jobs: os: ubuntu-latest install: clang-17 - toolset: clang - cxxstd: "03,11,14,17,2a" - os: macos-11 + 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-12 - toolset: clang cxxstd: "03,11,14,17,20,2b" os: macos-13 + - toolset: clang + cxxstd: "03,11,14,17,20,2b" + os: macos-14 runs-on: ${{matrix.os}} container: ${{matrix.container}} @@ -153,6 +163,10 @@ jobs: shell: bash steps: + - name: Enable Node 16 + run: | + echo "ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true" >> $GITHUB_ENV + - uses: actions/checkout@v3 - name: Setup container environment @@ -226,7 +240,7 @@ jobs: runs-on: ${{matrix.os}} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup Boost shell: cmd @@ -263,14 +277,14 @@ jobs: include: - os: ubuntu-20.04 - os: ubuntu-22.04 - - os: macos-11 - os: macos-12 - os: macos-13 + - os: macos-14 runs-on: ${{matrix.os}} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install packages if: matrix.install @@ -311,14 +325,14 @@ jobs: include: - os: ubuntu-20.04 - os: ubuntu-22.04 - - os: macos-11 - os: macos-12 - os: macos-13 + - os: macos-14 runs-on: ${{matrix.os}} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install packages if: matrix.install @@ -369,14 +383,14 @@ jobs: include: - os: ubuntu-20.04 - os: ubuntu-22.04 - - os: macos-11 - os: macos-12 - os: macos-13 + - os: macos-14 runs-on: ${{matrix.os}} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install packages if: matrix.install @@ -429,7 +443,7 @@ jobs: runs-on: ${{matrix.os}} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup Boost shell: cmd @@ -478,7 +492,7 @@ jobs: runs-on: ${{matrix.os}} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup Boost shell: cmd @@ -545,7 +559,7 @@ jobs: runs-on: ${{matrix.os}} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup Boost shell: cmd From 3fb266bf5796743155db9009610b09d1c68d2311 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Tue, 27 Aug 2024 13:59:28 +0300 Subject: [PATCH 29/38] Update build.jam, test/Jamfile --- build.jam | 14 +++++--------- test/Jamfile | 3 ++- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/build.jam b/build.jam index 538918c..5dfb72e 100644 --- a/build.jam +++ b/build.jam @@ -1,20 +1,16 @@ -# Copyright René Ferdinand Rivera Morell 2023-2024 +# Copyright 2023-2024 René Ferdinand Rivera Morell +# Copyright 2024 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) +# https://www.boost.org/LICENSE_1_0.txt require-b2 5.2 ; -project /boost/lambda2 - : common-requirements - include - ; +project /boost/lambda2 ; explicit - [ alias boost_lambda2 : : : : $(boost_dependencies) ] + [ alias boost_lambda2 : : : : include $(boost_dependencies) ] [ alias all : boost_lambda2 test ] ; call-if : boost-library lambda2 ; - diff --git a/test/Jamfile b/test/Jamfile index 217a195..52b4804 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -8,6 +8,7 @@ import testing ; import config : requires ; project : requirements + /boost/lambda2//boost_lambda2 /boost/config//boost_config /boost/core//boost_core @@ -18,7 +19,7 @@ project : requirements msvc:on clang:on gcc:on - ; +; run quick.cpp ; run lambda2_test.cpp ; From f1d863c6b2fe11a39c400a3d733cfd9a80654370 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Tue, 27 Aug 2024 14:07:08 +0300 Subject: [PATCH 30/38] Add VERBATIM to add_custom_target --- test/cmake_install_test/CMakeLists.txt | 2 +- test/cmake_subdir_test/CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/cmake_install_test/CMakeLists.txt b/test/cmake_install_test/CMakeLists.txt index 764f03c..2ef40ff 100644 --- a/test/cmake_install_test/CMakeLists.txt +++ b/test/cmake_install_test/CMakeLists.txt @@ -14,4 +14,4 @@ target_link_libraries(quick Boost::lambda2) enable_testing() add_test(quick quick) -add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $) +add_custom_target(check VERBATIM COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $) diff --git a/test/cmake_subdir_test/CMakeLists.txt b/test/cmake_subdir_test/CMakeLists.txt index bc6b00a..bdb5abd 100644 --- a/test/cmake_subdir_test/CMakeLists.txt +++ b/test/cmake_subdir_test/CMakeLists.txt @@ -14,4 +14,4 @@ target_link_libraries(quick Boost::lambda2) enable_testing() add_test(quick quick) -add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $) +add_custom_target(check VERBATIM COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $) From cb2e51eb840b57e3cbf22e4e3707e0198b78e020 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Fri, 13 Dec 2024 22:33:25 +0200 Subject: [PATCH 31/38] Update version --- include/boost/lambda2/lambda2.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/lambda2/lambda2.hpp b/include/boost/lambda2/lambda2.hpp index a65cf57..bfd6990 100644 --- a/include/boost/lambda2/lambda2.hpp +++ b/include/boost/lambda2/lambda2.hpp @@ -14,7 +14,7 @@ // Same format as BOOST_VERSION: // major * 100000 + minor * 100 + patch -#define BOOST_LAMBDA2_VERSION 108700 +#define BOOST_LAMBDA2_VERSION 108800 namespace boost { From 6ebe42d4ac1721ad5c7cdee5aabc34ae795f5ecf Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Fri, 13 Dec 2024 22:35:11 +0200 Subject: [PATCH 32/38] Update ci.yml --- .github/workflows/ci.yml | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dd71cbe..5fc8680 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -51,7 +51,7 @@ jobs: install: g++-12 - toolset: gcc-13 cxxstd: "03,11,14,17,20,2b" - container: ubuntu:23.04 + container: ubuntu:24.04 os: ubuntu-latest install: g++-13 - toolset: gcc-14 @@ -130,13 +130,13 @@ jobs: - toolset: clang compiler: clang++-16 cxxstd: "03,11,14,17,20,2b" - container: ubuntu:23.04 + container: ubuntu:24.04 os: ubuntu-latest install: clang-16 - toolset: clang compiler: clang++-17 cxxstd: "03,11,14,17,20,2b" - container: ubuntu:23.10 + container: ubuntu:24.04 os: ubuntu-latest install: clang-17 - toolset: clang @@ -146,14 +146,20 @@ jobs: os: ubuntu-latest install: clang-18 - toolset: clang + compiler: clang++-10 cxxstd: "03,11,14,17,20,2b" - os: macos-12 + container: ubuntu:24.10 + os: ubuntu-latest + install: clang-10 - 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: ${{matrix.container}} @@ -277,9 +283,10 @@ jobs: include: - os: ubuntu-20.04 - os: ubuntu-22.04 - - os: macos-12 + - os: ubuntu-24.04 - os: macos-13 - os: macos-14 + - os: macos-15 runs-on: ${{matrix.os}} @@ -325,9 +332,10 @@ jobs: include: - os: ubuntu-20.04 - os: ubuntu-22.04 - - os: macos-12 + - os: ubuntu-24.04 - os: macos-13 - os: macos-14 + - os: macos-15 runs-on: ${{matrix.os}} @@ -383,9 +391,10 @@ jobs: include: - os: ubuntu-20.04 - os: ubuntu-22.04 - - os: macos-12 + - os: ubuntu-24.04 - os: macos-13 - os: macos-14 + - os: macos-15 runs-on: ${{matrix.os}} From 8466c546e59acf9b2ddcce17dd748a93ac8c7a86 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Fri, 13 Dec 2024 22:36:00 +0200 Subject: [PATCH 33/38] Apply Node20 workaround --- .github/workflows/ci.yml | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5fc8680..0b4740c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -162,24 +162,32 @@ jobs: os: macos-15 runs-on: ${{matrix.os}} - container: ${{matrix.container}} + + 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: Enable Node 16 - run: | - echo "ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true" >> $GITHUB_ENV - - - uses: actions/checkout@v3 - - name: Setup container environment if: matrix.container run: | apt-get update - apt-get -y install sudo python3 git g++ + 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 From 865eb98c9ca7d37e95ed062c4d4197b15c1e3d18 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Fri, 13 Dec 2024 22:38:40 +0200 Subject: [PATCH 34/38] Update ci.yml --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0b4740c..bb87523 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -146,11 +146,11 @@ jobs: os: ubuntu-latest install: clang-18 - toolset: clang - compiler: clang++-10 + compiler: clang++-19 cxxstd: "03,11,14,17,20,2b" container: ubuntu:24.10 os: ubuntu-latest - install: clang-10 + install: clang-19 - toolset: clang cxxstd: "03,11,14,17,20,2b" os: macos-13 From a13c743c4bbb8e0ddd5b2aacd3216a7244ebabe6 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Sat, 28 Jun 2025 08:08:43 +0300 Subject: [PATCH 35/38] Update version --- include/boost/lambda2/lambda2.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/lambda2/lambda2.hpp b/include/boost/lambda2/lambda2.hpp index bfd6990..d84802d 100644 --- a/include/boost/lambda2/lambda2.hpp +++ b/include/boost/lambda2/lambda2.hpp @@ -14,7 +14,7 @@ // Same format as BOOST_VERSION: // major * 100000 + minor * 100 + patch -#define BOOST_LAMBDA2_VERSION 108800 +#define BOOST_LAMBDA2_VERSION 108900 namespace boost { From dddfec608515f5a4f51f86d9b8efc01c7ad816cc Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Sat, 28 Jun 2025 08:26:42 +0300 Subject: [PATCH 36/38] Update ci.yml --- .github/workflows/ci.yml | 47 +++++++++++++++++++++++++--------------- 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bb87523..3bb66e4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,18 +29,22 @@ jobs: install: g++-6 - toolset: gcc-7 cxxstd: "03,11,14,17" - os: ubuntu-20.04 + container: ubuntu:20.04 + os: ubuntu-latest install: g++-7 - toolset: gcc-8 cxxstd: "03,11,14,17,2a" - os: ubuntu-20.04 + container: ubuntu:20.04 + os: ubuntu-latest install: g++-8 - toolset: gcc-9 cxxstd: "03,11,14,17,2a" - os: ubuntu-20.04 + container: ubuntu:20.04 + os: ubuntu-latest - toolset: gcc-10 cxxstd: "03,11,14,17,2a" - os: ubuntu-20.04 + container: ubuntu:20.04 + os: ubuntu-latest install: g++-10 - toolset: gcc-11 cxxstd: "03,11,14,17,2a" @@ -80,35 +84,45 @@ jobs: - toolset: clang compiler: clang++-6.0 cxxstd: "03,11,14,17" - os: ubuntu-20.04 + container: ubuntu:20.04 + os: ubuntu-latest install: clang-6.0 - toolset: clang compiler: clang++-7 cxxstd: "03,11,14,17" - os: ubuntu-20.04 + container: ubuntu:20.04 + os: ubuntu-latest install: clang-7 - toolset: clang compiler: clang++-8 cxxstd: "03,11,14,17,2a" - os: ubuntu-20.04 + container: ubuntu:20.04 + os: ubuntu-latest install: clang-8 - toolset: clang compiler: clang++-9 cxxstd: "03,11,14,17,2a" - os: ubuntu-20.04 + container: ubuntu:20.04 + os: ubuntu-latest install: clang-9 - toolset: clang compiler: clang++-10 cxxstd: "03,11,14,17,2a" - os: ubuntu-20.04 + container: ubuntu:20.04 + os: ubuntu-latest + install: clang-10 - toolset: clang compiler: clang++-11 cxxstd: "03,11,14,17,2a" - os: ubuntu-20.04 + container: ubuntu:20.04 + os: ubuntu-latest + install: clang-11 - toolset: clang compiler: clang++-12 cxxstd: "03,11,14,17,2a" - os: ubuntu-20.04 + container: ubuntu:20.04 + os: ubuntu-latest + install: clang-12 - toolset: clang compiler: clang++-13 cxxstd: "03,11,14,17,20,2b" @@ -249,7 +263,7 @@ jobs: - toolset: gcc cxxstd: "03,11,14,17,2a" addrmd: 64 - os: windows-2019 + os: windows-2022 runs-on: ${{matrix.os}} @@ -289,7 +303,6 @@ jobs: fail-fast: false matrix: include: - - os: ubuntu-20.04 - os: ubuntu-22.04 - os: ubuntu-24.04 - os: macos-13 @@ -338,7 +351,6 @@ jobs: fail-fast: false matrix: include: - - os: ubuntu-20.04 - os: ubuntu-22.04 - os: ubuntu-24.04 - os: macos-13 @@ -397,7 +409,6 @@ jobs: fail-fast: false matrix: include: - - os: ubuntu-20.04 - os: ubuntu-22.04 - os: ubuntu-24.04 - os: macos-13 @@ -454,8 +465,8 @@ jobs: fail-fast: false matrix: include: - - os: windows-2019 - os: windows-2022 + - os: windows-2025 runs-on: ${{matrix.os}} @@ -503,8 +514,8 @@ jobs: fail-fast: false matrix: include: - - os: windows-2019 - os: windows-2022 + - os: windows-2025 runs-on: ${{matrix.os}} @@ -570,8 +581,8 @@ jobs: fail-fast: false matrix: include: - - os: windows-2019 - os: windows-2022 + - os: windows-2025 runs-on: ${{matrix.os}} From 585671d15d40e941dd03b785051a2873699a0a2d Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Thu, 9 Oct 2025 18:30:37 +0300 Subject: [PATCH 37/38] Update version --- include/boost/lambda2/lambda2.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/lambda2/lambda2.hpp b/include/boost/lambda2/lambda2.hpp index d84802d..c2f96e2 100644 --- a/include/boost/lambda2/lambda2.hpp +++ b/include/boost/lambda2/lambda2.hpp @@ -14,7 +14,7 @@ // Same format as BOOST_VERSION: // major * 100000 + minor * 100 + patch -#define BOOST_LAMBDA2_VERSION 108900 +#define BOOST_LAMBDA2_VERSION 109000 namespace boost { From a87d775e104a0426f774cde54b6dddd6e3ad7879 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Thu, 9 Oct 2025 19:52:36 +0300 Subject: [PATCH 38/38] Update ci.yml --- .github/workflows/ci.yml | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3bb66e4..30ee4ba 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -162,9 +162,15 @@ jobs: - toolset: clang compiler: clang++-19 cxxstd: "03,11,14,17,20,2b" - container: ubuntu:24.10 + container: ubuntu:24.04 os: ubuntu-latest install: clang-19 + - toolset: clang + compiler: clang++-20 + cxxstd: "03,11,14,17,20,2b" + container: ubuntu:24.04 + os: ubuntu-latest + install: clang-20 - toolset: clang cxxstd: "03,11,14,17,20,2b" os: macos-13 @@ -244,14 +250,6 @@ jobs: 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