diff --git a/.github/workflows/amalgamate-ubuntu20.yml b/.github/workflows/amalgamate-ubuntu24.yml similarity index 85% rename from .github/workflows/amalgamate-ubuntu20.yml rename to .github/workflows/amalgamate-ubuntu24.yml index af738691..90aef9e1 100644 --- a/.github/workflows/amalgamate-ubuntu20.yml +++ b/.github/workflows/amalgamate-ubuntu24.yml @@ -1,10 +1,10 @@ -name: Amalgamate Ubuntu 20.04 CI (GCC 9) +name: Amalgamate Ubuntu 24.04 CI 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 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 diff --git a/.github/workflows/ubuntu20-fastmath.yml b/.github/workflows/ubuntu20-fastmath.yml deleted file mode 100644 index a2d7b6db..00000000 --- a/.github/workflows/ubuntu20-fastmath.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Ubuntu 20.04 CI (GCC 9, fast-math) - -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 -DCMAKE_CXX_FLAGS="-ffast-math" -DFASTFLOAT_TEST=ON .. && - cmake --build . && - ctest --output-on-failure 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/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 c4e43b21..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() @@ -27,20 +26,15 @@ 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() 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()