From 36fc45413199e86d73ff7a109f79ed1043247ab1 Mon Sep 17 00:00:00 2001 From: Antony Polukhin Date: Mon, 7 Sep 2026 19:17:46 +0300 Subject: [PATCH 1/9] Fix CI --- test/cmake_subdir_test/CMakeLists.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/cmake_subdir_test/CMakeLists.txt b/test/cmake_subdir_test/CMakeLists.txt index fb3951f..a9a9ab3 100644 --- a/test/cmake_subdir_test/CMakeLists.txt +++ b/test/cmake_subdir_test/CMakeLists.txt @@ -33,7 +33,6 @@ exception filesystem function function_types -functional fusion integer intrusive @@ -50,7 +49,6 @@ range regex scope smart_ptr -static_assert system test tokenizer From 0f06641ca39b284e2cffb2bb10401f79ddced01e Mon Sep 17 00:00:00 2001 From: Antony Polukhin Date: Wed, 9 Sep 2026 18:47:54 +0300 Subject: [PATCH 2/9] fix attempt --- .github/workflows/ci.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2a81321..ac6d32d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -83,7 +83,6 @@ jobs: cd ../boost-root/libs/lexical_cast cmake -S test/cmake_subdir_test -B build_module \ -GNinja \ - -DBUILD_TESTING=1 \ -DBOOST_USE_MODULES=1 \ -DCMAKE_CXX_COMPILER=clang++-19 \ -DCMAKE_C_COMPILER=clang-19 @@ -97,7 +96,6 @@ jobs: cd ../boost-root/libs/lexical_cast cmake -S test/cmake_subdir_test -B build_module \ -GNinja \ - -DBUILD_TESTING=1 \ -DBOOST_USE_MODULES=1 \ -DCMAKE_CXX_COMPILER=clang++-19 \ -DCMAKE_C_COMPILER=clang-19 \ From 74a4c4fd4a8695cac77706ac21ee59db5230e888 Mon Sep 17 00:00:00 2001 From: Antony Polukhin Date: Wed, 9 Sep 2026 19:40:10 +0300 Subject: [PATCH 3/9] fix attempt 2 --- test/cmake_subdir_test/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/test/cmake_subdir_test/CMakeLists.txt b/test/cmake_subdir_test/CMakeLists.txt index a9a9ab3..d1f60e3 100644 --- a/test/cmake_subdir_test/CMakeLists.txt +++ b/test/cmake_subdir_test/CMakeLists.txt @@ -68,6 +68,7 @@ foreach(dep IN LISTS deps) endforeach() enable_testing() +set(BUILD_TESTING ON) add_subdirectory(../../ boostorg/lexical_cast) if (BOOST_USE_MODULES) From 5de9d00b45c3a1189a9485b97d4399787c5d0883 Mon Sep 17 00:00:00 2001 From: Antony Polukhin Date: Thu, 10 Sep 2026 20:23:48 +0300 Subject: [PATCH 4/9] Fix attempt 3 --- .github/workflows/ci.yml | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ac6d32d..4eb885a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -220,11 +220,9 @@ jobs: call "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvarsall.bat" x64 cd ../boost-root/libs/lexical_cast rm -rf build_module - mkdir build_module - cd build_module - cmake -DBOOST_USE_MODULES=1 -DCMAKE_CXX_STANDARD=23 -DCMAKE_EXPERIMENTAL_CXX_IMPORT_STD=0e5b6991-d74f-4b3d-a41c-cf096e0b2508 -G Ninja ../test/cmake_subdir_test/ - cmake --build . - ctest --no-tests=error -V + cmake -DBOOST_USE_MODULES=1 -DCMAKE_CXX_STANDARD=23 -DCMAKE_EXPERIMENTAL_CXX_IMPORT_STD=0e5b6991-d74f-4b3d-a41c-cf096e0b2508 -G Ninja -B build_module ../test/cmake_subdir_test/ + cmake --build build_module + ctest --test-dir build_module --no-tests=error -V - name: Run modules tests without 'import std;' if: ${{matrix.toolset == 'msvc-14.3'}} @@ -234,11 +232,9 @@ jobs: call "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvarsall.bat" x64 cd ../boost-root/libs/lexical_cast rm -rf build_module - mkdir build_module - cd build_module - cmake -DBOOST_USE_MODULES=1 -DCMAKE_CXX_STANDARD=20 -G Ninja ../test/cmake_subdir_test/ - cmake --build . - ctest --no-tests=error -V + cmake -DBOOST_USE_MODULES=1 -DCMAKE_CXX_STANDARD=20 -G Ninja -B build_module ../test/cmake_subdir_test/ + cmake --build build_module + ctest --test-dir build_module --no-tests=error -V - name: Run tests shell: cmd From 2f73e5b095966580a9c87e55d7dd5727fd2f5f1a Mon Sep 17 00:00:00 2001 From: Antony Polukhin Date: Mon, 14 Sep 2026 20:46:08 +0300 Subject: [PATCH 5/9] fix attempt --- .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 4eb885a..f8d22ef 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -220,7 +220,7 @@ jobs: call "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvarsall.bat" x64 cd ../boost-root/libs/lexical_cast rm -rf build_module - cmake -DBOOST_USE_MODULES=1 -DCMAKE_CXX_STANDARD=23 -DCMAKE_EXPERIMENTAL_CXX_IMPORT_STD=0e5b6991-d74f-4b3d-a41c-cf096e0b2508 -G Ninja -B build_module ../test/cmake_subdir_test/ + cmake -DBOOST_USE_MODULES=1 -DCMAKE_CXX_STANDARD=23 -DCMAKE_EXPERIMENTAL_CXX_IMPORT_STD=0e5b6991-d74f-4b3d-a41c-cf096e0b2508 -G Ninja -B build_module -S test/cmake_subdir_test/ cmake --build build_module ctest --test-dir build_module --no-tests=error -V @@ -232,7 +232,7 @@ jobs: call "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvarsall.bat" x64 cd ../boost-root/libs/lexical_cast rm -rf build_module - cmake -DBOOST_USE_MODULES=1 -DCMAKE_CXX_STANDARD=20 -G Ninja -B build_module ../test/cmake_subdir_test/ + cmake -DBOOST_USE_MODULES=1 -DCMAKE_CXX_STANDARD=20 -G Ninja -B build_module -S test/cmake_subdir_test/ cmake --build build_module ctest --test-dir build_module --no-tests=error -V From 5592e1e753d1d59c7bb3036e9a2046a20408c434 Mon Sep 17 00:00:00 2001 From: Antony Polukhin Date: Tue, 15 Sep 2026 14:07:29 +0300 Subject: [PATCH 6/9] Debug --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f8d22ef..4c81288 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -222,6 +222,7 @@ jobs: rm -rf build_module cmake -DBOOST_USE_MODULES=1 -DCMAKE_CXX_STANDARD=23 -DCMAKE_EXPERIMENTAL_CXX_IMPORT_STD=0e5b6991-d74f-4b3d-a41c-cf096e0b2508 -G Ninja -B build_module -S test/cmake_subdir_test/ cmake --build build_module + tree build_module ctest --test-dir build_module --no-tests=error -V - name: Run modules tests without 'import std;' @@ -234,6 +235,7 @@ jobs: rm -rf build_module cmake -DBOOST_USE_MODULES=1 -DCMAKE_CXX_STANDARD=20 -G Ninja -B build_module -S test/cmake_subdir_test/ cmake --build build_module + tree build_module ctest --test-dir build_module --no-tests=error -V - name: Run tests From a04e66d79b74e45d457a42f237a401a887e0b0c6 Mon Sep 17 00:00:00 2001 From: Antony Polukhin Date: Tue, 15 Sep 2026 14:55:07 +0300 Subject: [PATCH 7/9] More debug --- .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 4c81288..5bd0483 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -222,7 +222,7 @@ jobs: rm -rf build_module cmake -DBOOST_USE_MODULES=1 -DCMAKE_CXX_STANDARD=23 -DCMAKE_EXPERIMENTAL_CXX_IMPORT_STD=0e5b6991-d74f-4b3d-a41c-cf096e0b2508 -G Ninja -B build_module -S test/cmake_subdir_test/ cmake --build build_module - tree build_module + tree build_module /f ctest --test-dir build_module --no-tests=error -V - name: Run modules tests without 'import std;' @@ -235,7 +235,7 @@ jobs: rm -rf build_module cmake -DBOOST_USE_MODULES=1 -DCMAKE_CXX_STANDARD=20 -G Ninja -B build_module -S test/cmake_subdir_test/ cmake --build build_module - tree build_module + tree build_module /f ctest --test-dir build_module --no-tests=error -V - name: Run tests From 6f01036d697e08d2ef88075d25632c6c93b16b77 Mon Sep 17 00:00:00 2001 From: Antony Polukhin Date: Fri, 18 Sep 2026 10:04:41 +0300 Subject: [PATCH 8/9] fix attempt --- CMakeLists.txt | 2 +- test/cmake_subdir_test/CMakeLists.txt | 22 +++++++++++++++++++--- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0455d94..aa5b223 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ # Distributed under the Boost Software License, Version 1.0. # https://www.boost.org/LICENSE_1_0.txt -cmake_minimum_required(VERSION 3.5...4.4) +cmake_minimum_required(VERSION 3.8...4.4) project(boost_lexical_cast VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX) diff --git a/test/cmake_subdir_test/CMakeLists.txt b/test/cmake_subdir_test/CMakeLists.txt index d1f60e3..6894c91 100644 --- a/test/cmake_subdir_test/CMakeLists.txt +++ b/test/cmake_subdir_test/CMakeLists.txt @@ -3,7 +3,7 @@ # 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...4.0) +cmake_minimum_required(VERSION 3.5...4.4) project(lexical_cast_subdir_test LANGUAGES CXX) @@ -67,13 +67,29 @@ foreach(dep IN LISTS deps) add_subdirectory(../../../${dep} boostorg/${dep}) endforeach() -enable_testing() -set(BUILD_TESTING ON) add_subdirectory(../../ boostorg/lexical_cast) +enable_testing() + if (BOOST_USE_MODULES) add_executable(boost_lexical_cast_module_usage ../modules/usage_sample.cpp) target_link_libraries(boost_lexical_cast_module_usage PRIVATE Boost::lexical_cast) add_test(NAME boost_lexical_cast_module_usage COMMAND boost_lexical_cast_module_usage) endif() + +# Subset of tests +list(APPEND RUN_TESTS_SOURCES + inf_nan_test.cpp + try_lexical_convert.cpp + abstract_test.cpp + noncopyable_test.cpp +) + +foreach(testsourcefile ${RUN_TESTS_SOURCES}) + get_filename_component(testname ${testsourcefile} NAME_WLE) + add_executable(${PROJECT_NAME}_${testname} ../${testsourcefile}) + target_link_libraries(${PROJECT_NAME}_${testname} Boost::lexical_cast Boost::core) + add_test(NAME ${PROJECT_NAME}_${testname} COMMAND ${PROJECT_NAME}_${testname}) +endforeach() + From 5b5f21956abdaae22867195baa80de187d37a57b Mon Sep 17 00:00:00 2001 From: Antony Polukhin Date: Fri, 18 Sep 2026 10:29:52 +0300 Subject: [PATCH 9/9] cleanup\ --- .github/workflows/ci.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5bd0483..f8d22ef 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -222,7 +222,6 @@ jobs: rm -rf build_module cmake -DBOOST_USE_MODULES=1 -DCMAKE_CXX_STANDARD=23 -DCMAKE_EXPERIMENTAL_CXX_IMPORT_STD=0e5b6991-d74f-4b3d-a41c-cf096e0b2508 -G Ninja -B build_module -S test/cmake_subdir_test/ cmake --build build_module - tree build_module /f ctest --test-dir build_module --no-tests=error -V - name: Run modules tests without 'import std;' @@ -235,7 +234,6 @@ jobs: rm -rf build_module cmake -DBOOST_USE_MODULES=1 -DCMAKE_CXX_STANDARD=20 -G Ninja -B build_module -S test/cmake_subdir_test/ cmake --build build_module - tree build_module /f ctest --test-dir build_module --no-tests=error -V - name: Run tests