From e8f35352eeb4d288bcc53e24d160325dcf17655a Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Tue, 7 Oct 2025 10:56:13 +0200 Subject: [PATCH 01/11] Remove exceptions to tested CMake versions --- .github/workflows/cmake_versions.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/cmake_versions.yml b/.github/workflows/cmake_versions.yml index 4ae09e7..7fed13b 100644 --- a/.github/workflows/cmake_versions.yml +++ b/.github/workflows/cmake_versions.yml @@ -78,7 +78,6 @@ jobs: fi done # Libraries that don't declare their correct minimal required CMake version or where dependencies require higher version - version_greater_equal ${{matrix.cmake_version}} 3.12.0 || excluded+=("msm") - version_greater_equal ${{matrix.cmake_version}} 3.14.0 || excluded+=("pfr" "mysql") # mysql depends on pfr + # Example: version_greater_equal ${{matrix.cmake_version}} 3.12.0 || excluded+=("name") /tmp/cmake/bin/cmake --version /tmp/cmake/bin/cmake -DBUILD_TESTING=${{matrix.enable_test}} -DBOOST_EXCLUDE_LIBRARIES="$(IFS=';'; echo "${excluded[*]}")" -B "__build_cmake-$version" . From e6bd4260fc47473e64480a45ee413aea652c6192 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Mon, 27 Oct 2025 13:37:41 +0100 Subject: [PATCH 02/11] Handle `Boost::included_test*` targets --- include/BoostRoot.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/BoostRoot.cmake b/include/BoostRoot.cmake index c7897a3..1eea928 100644 --- a/include/BoostRoot.cmake +++ b/include/BoostRoot.cmake @@ -248,7 +248,7 @@ function(__boost_scan_dependencies lib var sub_folder) if(dep STREQUAL "headers" OR dep STREQUAL "boost" OR dep MATCHES "linking") continue() endif() - if(dep MATCHES "unit_test_framework|prg_exec_monitor|test_exec_monitor") + if(dep MATCHES "(included_)?(unit_test_framework|prg_exec_monitor|test_exec_monitor)") set(dep "test") elseif(dep STREQUAL "numpy") set(dep "python") From 3e479694cd9ca4ba550353ad7ce449848c7d0ea6 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Mon, 27 Oct 2025 13:38:49 +0100 Subject: [PATCH 03/11] Consistently quote name of Boost libraries in debug messages --- include/BoostRoot.cmake | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/include/BoostRoot.cmake b/include/BoostRoot.cmake index 1eea928..25bcbc4 100644 --- a/include/BoostRoot.cmake +++ b/include/BoostRoot.cmake @@ -407,11 +407,11 @@ foreach(__boost_lib_cml IN LISTS __boost_libraries) if(__boost_lib IN_LIST BOOST_INCOMPATIBLE_LIBRARIES) - boost_message(DEBUG "Skipping incompatible Boost library ${__boost_lib}") + boost_message(DEBUG "Skipping incompatible Boost library '${__boost_lib}'") elseif(__boost_lib IN_LIST BOOST_EXCLUDE_LIBRARIES) - boost_message(DEBUG "Skipping excluded Boost library ${__boost_lib}") + boost_message(DEBUG "Skipping excluded Boost library '${__boost_lib}'") elseif(NOT BOOST_ENABLE_MPI AND __boost_lib IN_LIST __boost_mpi_libs) @@ -421,11 +421,11 @@ foreach(__boost_lib_cml IN LISTS __boost_libraries) elseif(NOT BOOST_INCLUDE_LIBRARIES) - message(STATUS "Skipping Boost library ${__boost_lib}, BOOST_ENABLE_MPI is OFF") + message(STATUS "Skipping Boost library '${__boost_lib}', BOOST_ENABLE_MPI is OFF") else() - boost_message(DEBUG "Skipping Boost library ${__boost_lib}, BOOST_ENABLE_MPI is OFF") + boost_message(DEBUG "Skipping Boost library '${__boost_lib}', BOOST_ENABLE_MPI is OFF") endif() @@ -437,17 +437,17 @@ foreach(__boost_lib_cml IN LISTS __boost_libraries) elseif(NOT BOOST_INCLUDE_LIBRARIES) - message(STATUS "Skipping Boost library ${__boost_lib}, BOOST_ENABLE_PYTHON is OFF") + message(STATUS "Skipping Boost library '${__boost_lib}', BOOST_ENABLE_PYTHON is OFF") else() - boost_message(DEBUG "Skipping Boost library ${__boost_lib}, BOOST_ENABLE_PYTHON is OFF") + boost_message(DEBUG "Skipping Boost library '${__boost_lib}', BOOST_ENABLE_PYTHON is OFF") endif() elseif(NOT BOOST_INCLUDE_LIBRARIES OR __boost_lib IN_LIST BOOST_INCLUDE_LIBRARIES) - boost_message(VERBOSE "Adding Boost library ${__boost_lib}") + boost_message(VERBOSE "Adding Boost library '${__boost_lib}'") add_subdirectory(libs/${__boost_lib}) __boost_auto_install(${__boost_lib}) @@ -466,7 +466,7 @@ foreach(__boost_lib_cml IN LISTS __boost_libraries) set(CMAKE_FOLDER "Dependencies") endif() - boost_message(VERBOSE "Adding Boost dependency ${__boost_lib}") + boost_message(VERBOSE "Adding Boost dependency '${__boost_lib}'") add_subdirectory(libs/${__boost_lib}) __boost_auto_install(${__boost_lib}) @@ -491,7 +491,7 @@ foreach(__boost_lib_cml IN LISTS __boost_libraries) set(CMAKE_FOLDER "Test Dependencies") endif() - boost_message(DEBUG "Adding Boost test dependency ${__boost_lib} with EXCLUDE_FROM_ALL") + boost_message(DEBUG "Adding Boost test dependency '${__boost_lib}' with EXCLUDE_FROM_ALL") add_subdirectory(libs/${__boost_lib} EXCLUDE_FROM_ALL) set(BUILD_TESTING ${__boost_build_testing}) From f81f6c1b989a968d9b90a5a20307136055c32a68 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Tue, 28 Oct 2025 02:24:35 +0200 Subject: [PATCH 04/11] Add openmethod to include_library.yml --- .github/workflows/include_library.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/include_library.yml b/.github/workflows/include_library.yml index 29a09df..113f558 100644 --- a/.github/workflows/include_library.yml +++ b/.github/workflows/include_library.yml @@ -136,6 +136,7 @@ jobs: - numeric/interval - numeric/odeint - numeric/ublas + - openmethod - optional - outcome - parameter From d593687c07a460f23bcaef6fd97fecfad7a233d9 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Sat, 13 Dec 2025 13:26:26 +0200 Subject: [PATCH 05/11] Update CI --- .github/workflows/check_quick.yml | 1 + .github/workflows/ci.yml | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/check_quick.yml b/.github/workflows/check_quick.yml index ace8585..0bcae63 100644 --- a/.github/workflows/check_quick.yml +++ b/.github/workflows/check_quick.yml @@ -19,6 +19,7 @@ jobs: - ubuntu:22.04 - ubuntu:24.04 - ubuntu:25.04 + - ubuntu:25.10 shared: [ ON, OFF ] container: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1b9060d..b07cb2a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -540,7 +540,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ ubuntu-22.04, ubuntu-24.04, macos-13, macos-14, macos-15 ] + os: [ ubuntu-22.04, ubuntu-24.04, macos-14, macos-15, macos-26 ] shared: [ ON, OFF ] runs-on: ${{matrix.os}} @@ -623,15 +623,15 @@ jobs: - os: ubuntu-24.04 include: timer shared: ON - - os: macos-13 - include: timer - shared: ON - os: macos-14 include: timer shared: ON - os: macos-15 include: timer shared: ON + - os: macos-26 + include: timer + shared: ON runs-on: ${{matrix.os}} @@ -669,7 +669,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ ubuntu-22.04, ubuntu-24.04, macos-13, macos-14, macos-15 ] + os: [ ubuntu-22.04, ubuntu-24.04, macos-14, macos-15, macos-26 ] shared: [ ON, OFF ] runs-on: ${{matrix.os}} From 1686f57663c6c623b490f2488dd0e604b1bb5faf Mon Sep 17 00:00:00 2001 From: Andrey Semashev Date: Thu, 22 Jan 2026 23:24:49 +0300 Subject: [PATCH 06/11] Remove dependencies on Boost.StaticAssert. Boost.StaticAssert has been merged into Boost.Config and its submodule should not be used anymore, so remove the dependency and tesing the library in CI. Boost.StaticAssert is still retained in include_library.yml GHA config to continue testing the submodule until it is removed, at request by Peter Dimov. --- .github/workflows/ci.yml | 2 +- test/boost_fetch/CMakeLists.txt | 1 - test/boost_test/CMakeLists.txt | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b07cb2a..98e78b2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -507,7 +507,7 @@ jobs: cd .. git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root cd boost-root - git submodule update --init libs/core libs/assert libs/config libs/static_assert libs/throw_exception + git submodule update --init libs/core libs/assert libs/config libs/throw_exception rm -rf tools/cmake/* cp -r $GITHUB_WORKSPACE/* tools/cmake diff --git a/test/boost_fetch/CMakeLists.txt b/test/boost_fetch/CMakeLists.txt index ab8ad73..05bd925 100644 --- a/test/boost_fetch/CMakeLists.txt +++ b/test/boost_fetch/CMakeLists.txt @@ -16,7 +16,6 @@ set(BUILD_TESTING OFF) # hide cache variable boost_fetch(boostorg/assert TAG develop EXCLUDE_FROM_ALL) boost_fetch(boostorg/config TAG develop EXCLUDE_FROM_ALL) boost_fetch(boostorg/core TAG develop EXCLUDE_FROM_ALL) -boost_fetch(boostorg/static_assert TAG develop EXCLUDE_FROM_ALL) boost_fetch(boostorg/throw_exception TAG develop EXCLUDE_FROM_ALL) unset(BUILD_TESTING) diff --git a/test/boost_test/CMakeLists.txt b/test/boost_test/CMakeLists.txt index f08927d..d862215 100644 --- a/test/boost_test/CMakeLists.txt +++ b/test/boost_test/CMakeLists.txt @@ -13,7 +13,6 @@ set(BUILD_TESTING OFF) # hide cache variable add_subdirectory(../../../../libs/assert EXCLUDE_FROM_ALL boostorg/assert) add_subdirectory(../../../../libs/config EXCLUDE_FROM_ALL boostorg/config) add_subdirectory(../../../../libs/core EXCLUDE_FROM_ALL boostorg/core) -add_subdirectory(../../../../libs/static_assert EXCLUDE_FROM_ALL boostorg/static_assert) add_subdirectory(../../../../libs/throw_exception EXCLUDE_FROM_ALL boostorg/throw_exception) unset(BUILD_TESTING) From 3b0dabf989ffdc2dfdcf90487d1a1e25e6a2f566 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Thu, 29 Jan 2026 21:01:22 +0200 Subject: [PATCH 07/11] Add decimal to include_library.yml --- .github/workflows/include_library.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/include_library.yml b/.github/workflows/include_library.yml index 113f558..a8cb9d7 100644 --- a/.github/workflows/include_library.yml +++ b/.github/workflows/include_library.yml @@ -48,6 +48,7 @@ jobs: - coroutine2 - crc - date_time + - decimal - describe - detail - dll From f53312c991d9678a80418d31cfec46693b9f613f Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Thu, 26 Feb 2026 22:02:23 +0200 Subject: [PATCH 08/11] Add 4.2.3 to cmake_versions.yml --- .github/workflows/cmake_versions.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/cmake_versions.yml b/.github/workflows/cmake_versions.yml index e55c768..b097642 100644 --- a/.github/workflows/cmake_versions.yml +++ b/.github/workflows/cmake_versions.yml @@ -52,6 +52,7 @@ jobs: - 3.31.9 - 4.0.4 - 4.1.2 + - 4.2.3 runs-on: ubuntu-latest From b583a79fc8c2bc239f9bdcab0613c06780a2ffba Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Fri, 27 Feb 2026 02:12:26 +0200 Subject: [PATCH 09/11] Add `apt-get update` to cmake_versions.yml --- .github/workflows/cmake_versions.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cmake_versions.yml b/.github/workflows/cmake_versions.yml index b097642..31c0fe5 100644 --- a/.github/workflows/cmake_versions.yml +++ b/.github/workflows/cmake_versions.yml @@ -83,7 +83,9 @@ jobs: key: ${{ runner.os }}-cmake-${{matrix.cmake_version}} - name: Install CMake dependencies - run: sudo apt-get -o Acquire::Retries=3 -y -q --no-install-suggests --no-install-recommends install curl libcurl4-openssl-dev libarchive-dev + run: | + sudo apt-get update + sudo apt-get -o Acquire::Retries=3 -y -q --no-install-suggests --no-install-recommends install curl libcurl4-openssl-dev libarchive-dev - name: Build CMake if: steps.cache-cmake.outputs.cache-hit != 'true' From 49d2fd39e26af05dd3e089545b179626b576625f Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Fri, 27 Feb 2026 15:14:33 +0200 Subject: [PATCH 10/11] Do not run tests with BUILD_SHARED_LIBS=ON, as Range and Xpressive don't support it (they force static in test/Jamfile) --- .github/workflows/ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 98e78b2..6ab259e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -45,7 +45,9 @@ jobs: python: ON mpi: OFF - os: ubuntu-latest - shared: ON + shared: OFF + # shared: ON doesn't work for Range and Xpressive tests + # static is forced in test/Jamfile there testing: ON layout: system python: OFF From 7825d9e60f86a26c3c4da85de6511a38ef6a7af8 Mon Sep 17 00:00:00 2001 From: Matt Borland Date: Tue, 10 Mar 2026 11:14:41 -0400 Subject: [PATCH 11/11] Add legacy functions build option to Math section Add new `BOOST_MATH_BUILD_WITH_LEGACY_FUNCTIONS` description. Related PR: https://github.com/boostorg/math/pull/1376 Derived from: https://github.com/microsoft/vcpkg/pull/38728 --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 5b86569..8f6ce3f 100644 --- a/README.md +++ b/README.md @@ -293,6 +293,14 @@ are given below. When ON, enables the Windows API backend. Defaults to ON under Windows, OFF otherwise. +### Math + +* `BOOST_MATH_BUILD_WITH_LEGACY_FUNCTIONS` + + When ON, builds the C99/TR1 targets as: `boost_math_c99f` `boost_math_c99`, `boost_math_c99l` (if your platform has long double support), + `boost_math_tr1f`, `boost_math_tr1`, and `boost_math_tr1l` (if your platform has long double support). + With CMake Version >= 3.13 these 4-6 targets can be linked with the single target `boost_math_legacy_targets`. Defaults to OFF. + ### Stacktrace * `BOOST_STACKTRACE_ENABLE_NOOP`