From 5a4b79381850a06c8e2bb2b7fb8c4bf2d0f9238a Mon Sep 17 00:00:00 2001 From: Daniel Lemire Date: Mon, 2 Jun 2025 09:15:06 -0400 Subject: [PATCH 1/7] adding emscripten build test --- .github/workflows/emscripten.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .github/workflows/emscripten.yml diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml new file mode 100644 index 00000000..5f0418db --- /dev/null +++ b/.github/workflows/emscripten.yml @@ -0,0 +1,17 @@ +on: [push, pull_request] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 + - uses: mymindstorm/setup-emsdk@6ab9eb1bda2574c4ddb79809fc9247783eaf9021 # v14 + - name: Verify + run: emcc -v + - name: Checkout + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v3.6.0 + - name: Configure + run: emcmake cmake -B build + - name: Build # We build but do not test + run: cmake --build build From fbc85aa706677d392071b32475754afa5a3bf63b Mon Sep 17 00:00:00 2001 From: Daniel Lemire Date: Mon, 2 Jun 2025 09:25:42 -0400 Subject: [PATCH 2/7] adding cmake policy for doctest --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8a1c9a32..cedab701 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,5 @@ cmake_minimum_required(VERSION 3.9) +cmake_policy(VERSION 3.5) # For doctest project(fast_float VERSION 8.0.2 LANGUAGES CXX) set(FASTFLOAT_CXX_STANDARD 11 CACHE STRING "the C++ standard to use for fastfloat") From 73b27b7d683cf2ec7d7f7ad828aee5c333de1698 Mon Sep 17 00:00:00 2001 From: Daniel Lemire Date: Mon, 2 Jun 2025 09:52:34 -0400 Subject: [PATCH 3/7] hmmm --- CMakeLists.txt | 1 - tests/CMakeLists.txt | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cedab701..8a1c9a32 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,4 @@ cmake_minimum_required(VERSION 3.9) -cmake_policy(VERSION 3.5) # For doctest project(fast_float VERSION 8.0.2 LANGUAGES CXX) set(FASTFLOAT_CXX_STANDARD 11 CACHE STRING "the C++ standard to use for fastfloat") diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index c4e43b21..1f648357 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -27,8 +27,7 @@ endif() if (NOT SYSTEM_DOCTEST) FetchContent_GetProperties(doctest) if(NOT doctest_POPULATED) - FetchContent_Populate(doctest) - add_subdirectory(${doctest_SOURCE_DIR} ${doctest_BINARY_DIR}) + FetchContent_MakeAvailable(doctest) endif() endif() From 2d2b42bb38043be9f719d57cadd06c082efa25e1 Mon Sep 17 00:00:00 2001 From: Daniel Lemire Date: Tue, 3 Jun 2025 18:15:52 -0400 Subject: [PATCH 4/7] forked doctest --- CMakeLists.txt | 2 +- tests/CMakeLists.txt | 13 ++++--------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8a1c9a32..329ff0d1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.10) project(fast_float VERSION 8.0.2 LANGUAGES CXX) set(FASTFLOAT_CXX_STANDARD 11 CACHE STRING "the C++ standard to use for fastfloat") diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 1f648357..939385f5 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -9,8 +9,7 @@ option(FASTFLOAT_SUPPLEMENTAL_TESTS "Run supplemental tests" ON) if (NOT SYSTEM_DOCTEST) FetchContent_Declare(doctest - GIT_REPOSITORY https://github.com/onqtam/doctest.git - GIT_TAG v2.4.11) + GIT_REPOSITORY https://github.com/lemire/doctest.git) else () find_package(doctest REQUIRED) endif() @@ -33,13 +32,9 @@ endif() add_library(supplemental-data INTERFACE) if (FASTFLOAT_SUPPLEMENTAL_TESTS) - FetchContent_GetProperties(supplemental_test_files) - if(NOT supplemental_test_files_POPULATED) - message(STATUS "Supplemental tests enabled. Retrieving test files.") - FetchContent_Populate(supplemental_test_files) - message(STATUS "Supplemental test files retrieved.") - add_subdirectory(${supplemental_test_files_SOURCE_DIR} ${supplemental_test_files_BINARY_DIR}) - endif() + message(STATUS "Supplemental tests enabled. Retrieving test files.") + FetchContent_MakeAvailable(supplemental_test_files) + message(STATUS "Supplemental test files retrieved.") target_compile_definitions(supplemental-data INTERFACE SUPPLEMENTAL_TEST_DATA_DIR="${supplemental_test_files_BINARY_DIR}/data") endif() From 3ee7eb018d9fe4edbe79b9264b4cab607128b564 Mon Sep 17 00:00:00 2001 From: Daniel Lemire Date: Tue, 3 Jun 2025 18:19:33 -0400 Subject: [PATCH 5/7] updating CI --- ...e-ubuntu20.yml => amalgamate-ubuntu24.yml} | 2 +- .github/workflows/ubuntu20.yml | 21 ------------------- ...{ubuntu20-cxx20.yml => ubuntu24-cxx20.yml} | 4 ++-- ...u20-fastmath.yml => ubuntu24-fastmath.yml} | 4 ++-- 4 files changed, 5 insertions(+), 26 deletions(-) rename .github/workflows/{amalgamate-ubuntu20.yml => amalgamate-ubuntu24.yml} (90%) delete mode 100644 .github/workflows/ubuntu20.yml rename .github/workflows/{ubuntu20-cxx20.yml => ubuntu24-cxx20.yml} (88%) rename .github/workflows/{ubuntu20-fastmath.yml => ubuntu24-fastmath.yml} (82%) diff --git a/.github/workflows/amalgamate-ubuntu20.yml b/.github/workflows/amalgamate-ubuntu24.yml similarity index 90% rename from .github/workflows/amalgamate-ubuntu20.yml rename to .github/workflows/amalgamate-ubuntu24.yml index af738691..0755ddc5 100644 --- a/.github/workflows/amalgamate-ubuntu20.yml +++ b/.github/workflows/amalgamate-ubuntu24.yml @@ -1,4 +1,4 @@ -name: Amalgamate Ubuntu 20.04 CI (GCC 9) +name: Amalgamate Ubuntu 24.04 CI on: [push, pull_request] diff --git a/.github/workflows/ubuntu20.yml b/.github/workflows/ubuntu20.yml deleted file mode 100644 index f0a8b6f3..00000000 --- a/.github/workflows/ubuntu20.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: Ubuntu 20.04 CI (GCC 9) - -on: [push, pull_request] - -jobs: - ubuntu-build: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v4 - - name: Use cmake - run: | - mkdir build && - cd build && - cmake ${{matrix.cxx}} ${{matrix.arch}} -DFASTFLOAT_TEST=ON -DCMAKE_INSTALL_PREFIX:PATH=destination .. && - cmake --build . && - ctest --output-on-failure && - cmake --install . && - cd ../tests/installation_tests/find && - mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX:PATH=../../../build/destination .. && cmake --build . && - cd ../../issue72_installation && - mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX:PATH=../../../build/destination .. && cmake --build . diff --git a/.github/workflows/ubuntu20-cxx20.yml b/.github/workflows/ubuntu24-cxx20.yml similarity index 88% rename from .github/workflows/ubuntu20-cxx20.yml rename to .github/workflows/ubuntu24-cxx20.yml index ff226c7d..52dc9890 100644 --- a/.github/workflows/ubuntu20-cxx20.yml +++ b/.github/workflows/ubuntu24-cxx20.yml @@ -1,10 +1,10 @@ -name: Ubuntu 20.04 CI (C++20) +name: Ubuntu 24.04 CI on: [push, pull_request] jobs: ubuntu-build: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 strategy: fail-fast: false steps: diff --git a/.github/workflows/ubuntu20-fastmath.yml b/.github/workflows/ubuntu24-fastmath.yml similarity index 82% rename from .github/workflows/ubuntu20-fastmath.yml rename to .github/workflows/ubuntu24-fastmath.yml index a2d7b6db..2a16d677 100644 --- a/.github/workflows/ubuntu20-fastmath.yml +++ b/.github/workflows/ubuntu24-fastmath.yml @@ -1,10 +1,10 @@ -name: Ubuntu 20.04 CI (GCC 9, fast-math) +name: Ubuntu 24.04 CI (fast-math) on: [push, pull_request] jobs: ubuntu-build: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - name: Use cmake From 3d09138b1bb779933ce5a809f4a350ab3068a2aa Mon Sep 17 00:00:00 2001 From: Daniel Lemire Date: Wed, 4 Jun 2025 20:45:56 -0400 Subject: [PATCH 6/7] trimming --- .github/workflows/ubuntu24-fastmath.yml | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 .github/workflows/ubuntu24-fastmath.yml diff --git a/.github/workflows/ubuntu24-fastmath.yml b/.github/workflows/ubuntu24-fastmath.yml deleted file mode 100644 index 2a16d677..00000000 --- a/.github/workflows/ubuntu24-fastmath.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Ubuntu 24.04 CI (fast-math) - -on: [push, pull_request] - -jobs: - ubuntu-build: - runs-on: ubuntu-24.04 - steps: - - uses: actions/checkout@v4 - - name: Use cmake - run: | - mkdir build && - cd build && - cmake -DCMAKE_CXX_FLAGS="-ffast-math" -DFASTFLOAT_TEST=ON .. && - cmake --build . && - ctest --output-on-failure From 6b10835aa918d0a6bb304566b9484500afd60935 Mon Sep 17 00:00:00 2001 From: Daniel Lemire Date: Wed, 4 Jun 2025 21:14:09 -0400 Subject: [PATCH 7/7] update --- .github/workflows/amalgamate-ubuntu24.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/amalgamate-ubuntu24.yml b/.github/workflows/amalgamate-ubuntu24.yml index 0755ddc5..90aef9e1 100644 --- a/.github/workflows/amalgamate-ubuntu24.yml +++ b/.github/workflows/amalgamate-ubuntu24.yml @@ -4,7 +4,7 @@ on: [push, pull_request] jobs: ubuntu-build: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - name: Compile with amalgamation