diff --git a/.github/workflows/aarch64.yml b/.github/workflows/aarch64.yml index 0449ee6fd..c1662895a 100644 --- a/.github/workflows/aarch64.yml +++ b/.github/workflows/aarch64.yml @@ -24,6 +24,6 @@ jobs: apt-get update -q -y apt-get install -y cmake make g++ run: | - cmake -DSIMDJSON_SANITIZE_UNDEFINED=ON -DSIMDJSON_DEVELOPER_MODE=ON -DSIMDJSON_COMPETITION=OFF -B build + cmake -DSIMDJSON_SANITIZE_UNDEFINED=ON -DSIMDJSON_DEVELOPER_MODE=ON -DSIMDJSON_COMPETITION=OFF -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -B build cmake --build build -j=2 ctest --output-on-failure --test-dir build diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 1eda9ebe7..67482f46a 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -18,13 +18,13 @@ jobs: run: | mkdir builddebug && cd builddebug && - cmake -DCMAKE_BUILD_TYPE=Debug -DSIMDJSON_GOOGLE_BENCHMARKS=OFF -DSIMDJSON_DEVELOPER_MODE=ON -DBUILD_SHARED_LIBS=OFF .. && + cmake -DCMAKE_BUILD_TYPE=Debug -DSIMDJSON_GOOGLE_BENCHMARKS=OFF -DSIMDJSON_DEVELOPER_MODE=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_COMPILE_WARNING_AS_ERROR=ON .. && cmake --build . && ctest --output-on-failure -LE explicitonly -j && cd .. && mkdir build && cd build && - cmake -DSIMDJSON_GOOGLE_BENCHMARKS=ON -DSIMDJSON_DEVELOPER_MODE=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX:PATH=destination .. && + cmake -DSIMDJSON_GOOGLE_BENCHMARKS=ON -DSIMDJSON_DEVELOPER_MODE=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX:PATH=destination -DCMAKE_COMPILE_WARNING_AS_ERROR=ON .. && cmake --build . && ctest --output-on-failure -LE explicitonly -j && cmake --install . && @@ -35,7 +35,7 @@ jobs: run: | mkdir buildshared && cd buildshared && - cmake -DSIMDJSON_GOOGLE_BENCHMARKS=ON -DSIMDJSON_DEVELOPER_MODE=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX:PATH=destination .. && + cmake -DSIMDJSON_GOOGLE_BENCHMARKS=ON -DSIMDJSON_DEVELOPER_MODE=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX:PATH=destination -DCMAKE_COMPILE_WARNING_AS_ERROR=ON .. && cmake --build . && ctest --output-on-failure -LE explicitonly -j && cmake --install . && diff --git a/.github/workflows/msys2.yml b/.github/workflows/msys2.yml index 41b3a9236..07ae63350 100644 --- a/.github/workflows/msys2.yml +++ b/.github/workflows/msys2.yml @@ -43,6 +43,6 @@ jobs: run: | mkdir build cd build - cmake -DSIMDJSON_DEVELOPER_MODE=ON -DCMAKE_BUILD_TYPE=${{ matrix.type }} -DBUILD_SHARED_LIBS=OFF -DSIMDJSON_DO_NOT_USE_THREADS_NO_MATTER_WHAT=ON .. + cmake -DSIMDJSON_DEVELOPER_MODE=ON -DCMAKE_BUILD_TYPE=${{ matrix.type }} -DBUILD_SHARED_LIBS=OFF -DSIMDJSON_DO_NOT_USE_THREADS_NO_MATTER_WHAT=ON -DCMAKE_COMPILE_WARNING_AS_ERROR=ON .. cmake --build . --verbose ctest -j4 --output-on-failure -LE explicitonly diff --git a/.github/workflows/riscv64.yml b/.github/workflows/riscv64.yml index 9666fad02..894bcaca4 100644 --- a/.github/workflows/riscv64.yml +++ b/.github/workflows/riscv64.yml @@ -24,6 +24,6 @@ jobs: apt-get update -q -y apt-get install -y cmake make g++ run: | - cmake -DCMAKE_BUILD_TYPE=Release -DSIMDJSON_DEVELOPER_MODE=ON -DSIMDJSON_COMPETITION=OFF -B build + cmake -DCMAKE_BUILD_TYPE=Release -DSIMDJSON_DEVELOPER_MODE=ON -DSIMDJSON_COMPETITION=OFF -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -B build cmake --build build -j=2 ctest --output-on-failure --test-dir build diff --git a/.github/workflows/rvv-1024-clang-18.yml b/.github/workflows/rvv-1024-clang-18.yml index a22a8a8f9..fbda74355 100644 --- a/.github/workflows/rvv-1024-clang-18.yml +++ b/.github/workflows/rvv-1024-clang-18.yml @@ -20,7 +20,7 @@ jobs: - name: Build run: | CC=clang-18 CXX=clang++-18 CFLAGS="--target=riscv64-linux-gnu -march=rv64gcv_zvbb" CXXFLAGS="${CFLAGS}" \ - cmake --toolchain=cmake/toolchains-ci/riscv64-linux-gnu.cmake -DSIMDJSON_DEVELOPER_MODE=ON -B build + cmake --toolchain=cmake/toolchains-ci/riscv64-linux-gnu.cmake -DSIMDJSON_DEVELOPER_MODE=ON -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -B build cmake --build build/ -j$(nproc) --config Release - name: Test VLEN=1024 run: | diff --git a/.github/workflows/rvv-128-clang-20.yml b/.github/workflows/rvv-128-clang-20.yml index 92c3f02c0..3821403e2 100644 --- a/.github/workflows/rvv-128-clang-20.yml +++ b/.github/workflows/rvv-128-clang-20.yml @@ -20,7 +20,7 @@ jobs: - name: Build run: | CC=clang-20 CXX=clang++-20 CFLAGS="--target=riscv64-linux-gnu -march=rv64gcv" CXXFLAGS="${CFLAGS}" \ - cmake --toolchain=cmake/toolchains-ci/riscv64-linux-gnu.cmake -DSIMDJSON_DEVELOPER_MODE=ON -B build + cmake --toolchain=cmake/toolchains-ci/riscv64-linux-gnu.cmake -DSIMDJSON_DEVELOPER_MODE=ON -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -B build cmake --build build/ -j$(nproc) --config Release - name: Test VLEN=128 run: | @@ -30,7 +30,7 @@ jobs: - name: Build VLS run: | CC=clang-20 CXX=clang++-20 CFLAGS="--target=riscv64-linux-gnu -march=rv64gcv_zvl128b_zba_zbb_zbc -mrvv-vector-bits=zvl" CXXFLAGS="${CFLAGS}" \ - cmake --toolchain=cmake/toolchains-ci/riscv64-linux-gnu.cmake -DSIMDJSON_DEVELOPER_MODE=ON -B build-vls + cmake --toolchain=cmake/toolchains-ci/riscv64-linux-gnu.cmake -DSIMDJSON_DEVELOPER_MODE=ON -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -B build-vls cmake --build build-vls/ -j$(nproc) --config Release - name: Test VLEN=128 VLS run: | diff --git a/.github/workflows/rvv-256-gcc-14.yml b/.github/workflows/rvv-256-gcc-14.yml index be60294e1..1fd4c9bd8 100644 --- a/.github/workflows/rvv-256-gcc-14.yml +++ b/.github/workflows/rvv-256-gcc-14.yml @@ -20,7 +20,7 @@ jobs: - name: Build run: | CC=riscv64-linux-gnu-gcc-14 CXX=riscv64-linux-gnu-g++-14 CFLAGS=-march=rv64gcv CXXFLAGS="${CFLAGS}" \ - cmake --toolchain=cmake/toolchains-ci/riscv64-linux-gnu.cmake -DSIMDJSON_DEVELOPER_MODE=ON -B build + cmake --toolchain=cmake/toolchains-ci/riscv64-linux-gnu.cmake -DSIMDJSON_DEVELOPER_MODE=ON -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -B build cmake --build build/ -j$(nproc) --config Release - name: Test VLEN=256 run: | @@ -30,7 +30,7 @@ jobs: - name: Build VLS run: | CC=riscv64-linux-gnu-gcc-14 CXX=riscv64-linux-gnu-g++-14 CFLAGS="-march=rv64gcv_zvl256b -mrvv-vector-bits=zvl" CXXFLAGS="${CFLAGS}" \ - cmake --toolchain=cmake/toolchains-ci/riscv64-linux-gnu.cmake -DSIMDJSON_DEVELOPER_MODE=ON -B build-vls + cmake --toolchain=cmake/toolchains-ci/riscv64-linux-gnu.cmake -DSIMDJSON_DEVELOPER_MODE=ON -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -B build-vls cmake --build build-vls/ -j$(nproc) --config Release - name: Test VLEN=256 VLS run: | diff --git a/.github/workflows/rvv-512-clang-19.yml b/.github/workflows/rvv-512-clang-19.yml index 1088779a9..3e27f102c 100644 --- a/.github/workflows/rvv-512-clang-19.yml +++ b/.github/workflows/rvv-512-clang-19.yml @@ -20,7 +20,7 @@ jobs: - name: Build run: | CC=clang-19 CXX=clang++-19 CFLAGS="--target=riscv64-linux-gnu -march=rv64gcv" CXXFLAGS="${CFLAGS}" \ - cmake --toolchain=cmake/toolchains-ci/riscv64-linux-gnu.cmake -DSIMDJSON_DEVELOPER_MODE=ON -B build + cmake --toolchain=cmake/toolchains-ci/riscv64-linux-gnu.cmake -DSIMDJSON_DEVELOPER_MODE=ON -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -B build cmake --build build/ -j$(nproc) --config Release - name: Test VLEN=512 run: | @@ -30,7 +30,7 @@ jobs: - name: Build VLS run: | CC=clang-19 CXX=clang++-19 CFLAGS="--target=riscv64-linux-gnu -march=rv64gcv_zvl512b_zba_zbb_zbc -mrvv-vector-bits=zvl" CXXFLAGS="${CFLAGS}" \ - cmake --toolchain=cmake/toolchains-ci/riscv64-linux-gnu.cmake -DSIMDJSON_DEVELOPER_MODE=ON -B build-vls + cmake --toolchain=cmake/toolchains-ci/riscv64-linux-gnu.cmake -DSIMDJSON_DEVELOPER_MODE=ON -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -B build-vls cmake --build build-vls/ -j$(nproc) --config Release - name: Test VLEN=512 VLS run: | diff --git a/.github/workflows/s390x.yml b/.github/workflows/s390x.yml index df9e438ee..26b8e08a4 100644 --- a/.github/workflows/s390x.yml +++ b/.github/workflows/s390x.yml @@ -24,6 +24,6 @@ jobs: apt-get update -q -y apt-get install -y cmake make g++ run: | - cmake -DCMAKE_BUILD_TYPE=Release -DSIMDJSON_DEVELOPER_MODE=ON -DSIMDJSON_COMPETITION=OFF -B build + cmake -DCMAKE_BUILD_TYPE=Release -DSIMDJSON_DEVELOPER_MODE=ON -DSIMDJSON_COMPETITION=OFF -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -B build cmake --build build -j=2 ctest --output-on-failure --test-dir build diff --git a/.github/workflows/ubuntu22-clang13.yml b/.github/workflows/ubuntu22-clang13.yml index 780cabef2..c03b1e24f 100644 --- a/.github/workflows/ubuntu22-clang13.yml +++ b/.github/workflows/ubuntu22-clang13.yml @@ -18,6 +18,6 @@ jobs: run: | mkdir build && cd build && - CXX=clang++-13 cmake -DSIMDJSON_DEVELOPER_MODE=ON .. && + CXX=clang++-13 cmake -DSIMDJSON_DEVELOPER_MODE=ON -DCMAKE_COMPILE_WARNING_AS_ERROR=ON .. && cmake --build . && ctest --output-on-failure -LE explicitonly -j \ No newline at end of file diff --git a/.github/workflows/ubuntu22-glibcxxassertions.yml b/.github/workflows/ubuntu22-glibcxxassertions.yml index 94d9642c9..a3eaec237 100644 --- a/.github/workflows/ubuntu22-glibcxxassertions.yml +++ b/.github/workflows/ubuntu22-glibcxxassertions.yml @@ -19,6 +19,6 @@ jobs: run: | mkdir build && cd build && - CXX=g++-12 cmake -DCMAKE_BUILD_TYPE=Debug -DSIMDJSON_GLIBCXX_ASSERTIONS=ON -DSIMDJSON_GOOGLE_BENCHMARKS=OFF -DSIMDJSON_DEVELOPER_MODE=ON .. && + CXX=g++-12 cmake -DCMAKE_BUILD_TYPE=Debug -DSIMDJSON_GLIBCXX_ASSERTIONS=ON -DSIMDJSON_GOOGLE_BENCHMARKS=OFF -DSIMDJSON_DEVELOPER_MODE=ON -DCMAKE_COMPILE_WARNING_AS_ERROR=ON .. && cmake --build . && ctest . -E avoid_ \ No newline at end of file diff --git a/.github/workflows/ubuntu22-threadsani.yml b/.github/workflows/ubuntu22-threadsani.yml index 563712f59..e59b33e93 100644 --- a/.github/workflows/ubuntu22-threadsani.yml +++ b/.github/workflows/ubuntu22-threadsani.yml @@ -18,7 +18,7 @@ jobs: run: | mkdir build && cd build && - CXX=g++-12 cmake -DSIMDJSON_DEVELOPER_MODE=ON -DSIMDJSON_SANITIZE_THREADS=ON .. && + CXX=g++-12 cmake -DSIMDJSON_DEVELOPER_MODE=ON -DSIMDJSON_SANITIZE_THREADS=ON -DCMAKE_COMPILE_WARNING_AS_ERROR=ON .. && cmake --build . --target document_stream_tests --target ondemand_document_stream_tests --target parse_many_test && ctest --output-on-failure -R parse_many_test && ctest --output-on-failure -R document_stream_tests \ No newline at end of file diff --git a/.github/workflows/ubuntu24-checkperf.yml b/.github/workflows/ubuntu24-checkperf.yml index e106a6070..60ed78a14 100644 --- a/.github/workflows/ubuntu24-checkperf.yml +++ b/.github/workflows/ubuntu24-checkperf.yml @@ -24,6 +24,6 @@ jobs: run: | mkdir build && cd build && - cmake -DSIMDJSON_DEVELOPER_MODE=ON -DSIMDJSON_ENABLE_DOM_CHECKPERF=ON -DCMAKE_CXX_FLAGS="-Werror=old-style-cast -pedantic -Wpedantic" -DSIMDJSON_GOOGLE_BENCHMARKS=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX:PATH=destination .. && + cmake -DSIMDJSON_DEVELOPER_MODE=ON -DSIMDJSON_ENABLE_DOM_CHECKPERF=ON -DCMAKE_CXX_FLAGS="-Werror=old-style-cast -pedantic -Wpedantic" -DSIMDJSON_GOOGLE_BENCHMARKS=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX:PATH=destination -DCMAKE_COMPILE_WARNING_AS_ERROR=ON .. && cmake --build . --target checkperf && ctest --output-on-failure -R checkperf diff --git a/.github/workflows/ubuntu24-cxx20-noexcept.yml b/.github/workflows/ubuntu24-cxx20-noexcept.yml index 761352667..01691fa27 100644 --- a/.github/workflows/ubuntu24-cxx20-noexcept.yml +++ b/.github/workflows/ubuntu24-cxx20-noexcept.yml @@ -13,7 +13,7 @@ jobs: steps: - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 - name: Prepare - run: cmake -DSIMDJSON_CXX_STANDARD=20 -DSIMDJSON_EXCEPTIONS=OFF -DSIMDJSON_DEVELOPER_MODE=ON -B build + run: cmake -DSIMDJSON_CXX_STANDARD=20 -DSIMDJSON_EXCEPTIONS=OFF -DSIMDJSON_DEVELOPER_MODE=ON -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -B build env: CXX: ${{matrix.cxx}} - name: Build diff --git a/.github/workflows/ubuntu24-cxx20.yml b/.github/workflows/ubuntu24-cxx20.yml index cbd8f9cf9..a0d01e63e 100644 --- a/.github/workflows/ubuntu24-cxx20.yml +++ b/.github/workflows/ubuntu24-cxx20.yml @@ -13,7 +13,7 @@ jobs: steps: - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 - name: Prepare - run: cmake -DSIMDJSON_CXX_STANDARD=20 -DSIMDJSON_DEVELOPER_MODE=ON -B build + run: cmake -DSIMDJSON_CXX_STANDARD=20 -DSIMDJSON_DEVELOPER_MODE=ON -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -B build env: CXX: ${{matrix.cxx}} - name: Build diff --git a/.github/workflows/ubuntu24-noexcept.yml b/.github/workflows/ubuntu24-noexcept.yml index 1bf5c8a7f..8e372e85c 100644 --- a/.github/workflows/ubuntu24-noexcept.yml +++ b/.github/workflows/ubuntu24-noexcept.yml @@ -18,13 +18,13 @@ jobs: run: | mkdir builddebug && cd builddebug && - cmake -DCMAKE_BUILD_TYPE=Debug -DSIMDJSON_GOOGLE_BENCHMARKS=OFF -DSIMDJSON_DEVELOPER_MODE=ON -DSIMDJSON_EXCEPTIONS=OFF -DBUILD_SHARED_LIBS=OFF .. && + cmake -DCMAKE_BUILD_TYPE=Debug -DSIMDJSON_GOOGLE_BENCHMARKS=OFF -DSIMDJSON_DEVELOPER_MODE=ON -DSIMDJSON_EXCEPTIONS=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_COMPILE_WARNING_AS_ERROR=ON .. && cmake --build . && ctest --output-on-failure -LE explicitonly -j && cd .. && mkdir build && cd build && - cmake -DSIMDJSON_DEVELOPER_MODE=ON -DSIMDJSON_GOOGLE_BENCHMARKS=ON -DSIMDJSON_EXCEPTIONS=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX:PATH=destination .. && + cmake -DSIMDJSON_DEVELOPER_MODE=ON -DSIMDJSON_GOOGLE_BENCHMARKS=ON -DSIMDJSON_EXCEPTIONS=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX:PATH=destination -DCMAKE_COMPILE_WARNING_AS_ERROR=ON .. && cmake --build . && ctest --output-on-failure -LE explicitonly -j && make install && diff --git a/.github/workflows/ubuntu24-nothread.yml b/.github/workflows/ubuntu24-nothread.yml index 8a94419be..cd4ed07f4 100644 --- a/.github/workflows/ubuntu24-nothread.yml +++ b/.github/workflows/ubuntu24-nothread.yml @@ -18,13 +18,13 @@ jobs: run: | mkdir builddebug && cd builddebug && - cmake -DCMAKE_BUILD_TYPE=Debug -DSIMDJSON_GOOGLE_BENCHMARKS=OFF -DSIMDJSON_ENABLE_THREADS=OFF -DSIMDJSON_DEVELOPER_MODE=ON -DBUILD_SHARED_LIBS=OFF .. && + cmake -DCMAKE_BUILD_TYPE=Debug -DSIMDJSON_GOOGLE_BENCHMARKS=OFF -DSIMDJSON_ENABLE_THREADS=OFF -DSIMDJSON_DEVELOPER_MODE=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_COMPILE_WARNING_AS_ERROR=ON .. && cmake --build . && ctest --output-on-failure -LE explicitonly -j && cd .. && mkdir build && cd build && - cmake -DSIMDJSON_DEVELOPER_MODE=ON -DSIMDJSON_GOOGLE_BENCHMARKS=ON -DSIMDJSON_ENABLE_THREADS=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX:PATH=destination .. && + cmake -DSIMDJSON_DEVELOPER_MODE=ON -DSIMDJSON_GOOGLE_BENCHMARKS=ON -DSIMDJSON_ENABLE_THREADS=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX:PATH=destination -DCMAKE_COMPILE_WARNING_AS_ERROR=ON .. && cmake --build . && ctest --output-on-failure -LE explicitonly -j && make install && diff --git a/.github/workflows/ubuntu24-sani.yml b/.github/workflows/ubuntu24-sani.yml index 06875de3e..366931f68 100644 --- a/.github/workflows/ubuntu24-sani.yml +++ b/.github/workflows/ubuntu24-sani.yml @@ -18,7 +18,7 @@ jobs: run: | mkdir builddebug && cd builddebug && - cmake -DSIMDJSON_SANITIZE=ON -DCMAKE_BUILD_TYPE=Debug -DSIMDJSON_GOOGLE_BENCHMARKS=OFF -DSIMDJSON_DEVELOPER_MODE=ON -DBUILD_SHARED_LIBS=OFF .. && + cmake -DSIMDJSON_SANITIZE=ON -DCMAKE_BUILD_TYPE=Debug -DSIMDJSON_GOOGLE_BENCHMARKS=OFF -DSIMDJSON_DEVELOPER_MODE=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_COMPILE_WARNING_AS_ERROR=ON .. && cmake --build . && ctest --output-on-failure -LE explicitonly -j ubuntu-build-undefined-sanitizer: @@ -36,6 +36,6 @@ jobs: run: | mkdir builddebugundefsani && cd builddebugundefsani && - cmake -DSIMDJSON_SANITIZE_UNDEFINED=ON -DCMAKE_BUILD_TYPE=Debug -DSIMDJSON_GOOGLE_BENCHMARKS=OFF -DSIMDJSON_DEVELOPER_MODE=ON -DBUILD_SHARED_LIBS=OFF .. && + cmake -DSIMDJSON_SANITIZE_UNDEFINED=ON -DCMAKE_BUILD_TYPE=Debug -DSIMDJSON_GOOGLE_BENCHMARKS=OFF -DSIMDJSON_DEVELOPER_MODE=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_COMPILE_WARNING_AS_ERROR=ON .. && cmake --build . && ctest --output-on-failure -LE explicitonly -j diff --git a/.github/workflows/ubuntu24.yml b/.github/workflows/ubuntu24.yml index 163550400..bddaaed07 100644 --- a/.github/workflows/ubuntu24.yml +++ b/.github/workflows/ubuntu24.yml @@ -16,7 +16,7 @@ jobs: steps: - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 - name: Prepare - run: cmake -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DSIMDJSON_DEVELOPER_MODE=ON -DSIMDJSON_SANITIZE=${{matrix.sanitizer}} -DBUILD_SHARED_LIBS=${{matrix.shared}} -B build + run: cmake -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DSIMDJSON_DEVELOPER_MODE=ON -DSIMDJSON_SANITIZE=${{matrix.sanitizer}} -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -B build env: CXX: ${{matrix.cxx}} - name: Build diff --git a/.github/workflows/vs17-arm-ci.yml b/.github/workflows/vs17-arm-ci.yml index aacdb3a6d..e6cb8f1eb 100644 --- a/.github/workflows/vs17-arm-ci.yml +++ b/.github/workflows/vs17-arm-ci.yml @@ -17,5 +17,5 @@ jobs: uses: actions/checkout@v4 - name: Use cmake run: | - cmake -A ${{ matrix.arch }} -DCMAKE_SYSTEM_VERSION="10.0.22621.0" -DCMAKE_CROSSCOMPILING=1 -DSIMDJSON_DEVELOPER_MODE=ON -D SIMDJSON_GOOGLE_BENCHMARKS=OFF -DSIMDJSON_EXCEPTIONS=OFF -B build && + cmake -A ${{ matrix.arch }} -DCMAKE_SYSTEM_VERSION="10.0.22621.0" -DCMAKE_CROSSCOMPILING=1 -DSIMDJSON_DEVELOPER_MODE=ON -D SIMDJSON_GOOGLE_BENCHMARKS=OFF -DSIMDJSON_EXCEPTIONS=OFF -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -B build && cmake --build build --verbose diff --git a/.github/workflows/vs17-ci-cxx20.yml b/.github/workflows/vs17-ci-cxx20.yml index 254311099..3223edc8e 100644 --- a/.github/workflows/vs17-ci-cxx20.yml +++ b/.github/workflows/vs17-ci-cxx20.yml @@ -22,7 +22,7 @@ jobs: uses: actions/checkout@v4 - name: Configure run: | - cmake -DSIMDJSON_CXX_STANDARD=20 -G "${{matrix.gen}}" -A ${{matrix.arch}} -DSIMDJSON_DEVELOPER_MODE=ON -DSIMDJSON_COMPETITION=OFF -DBUILD_SHARED_LIBS=${{matrix.shared}} -B build + cmake -DSIMDJSON_CXX_STANDARD=20 -G "${{matrix.gen}}" -A ${{matrix.arch}} -DSIMDJSON_DEVELOPER_MODE=ON -DSIMDJSON_COMPETITION=OFF -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -B build - name: Build Debug run: cmake --build build --config Debug --verbose - name: Build Release diff --git a/.github/workflows/vs17-clang-ci-cxx20.yml b/.github/workflows/vs17-clang-ci-cxx20.yml index af3ab02a0..489a19688 100644 --- a/.github/workflows/vs17-clang-ci-cxx20.yml +++ b/.github/workflows/vs17-clang-ci-cxx20.yml @@ -21,7 +21,7 @@ jobs: uses: actions/checkout@v4 - name: Configure run: | - cmake -G "${{matrix.gen}}" -A ${{matrix.arch}} -T ClangCL -DSIMDJSON_DEVELOPER_MODE=ON -DSIMDJSON_COMPETITION=OFF -B build + cmake -G "${{matrix.gen}}" -A ${{matrix.arch}} -T ClangCL -DSIMDJSON_DEVELOPER_MODE=ON -DSIMDJSON_COMPETITION=OFF -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -B build - name: Build run: cmake --build build --config ${{matrix.build_type}} --verbose - name: Run tests diff --git a/CMakeLists.txt b/CMakeLists.txt index 3807c7bbe..c65188f2e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.14) +cmake_minimum_required(VERSION 3.24) # Build performance optimizations set(CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE BOOL "Export compile commands for faster IDE integration") diff --git a/cmake/developer-options.cmake b/cmake/developer-options.cmake index 952163b11..250e6e94a 100644 --- a/cmake/developer-options.cmake +++ b/cmake/developer-options.cmake @@ -171,7 +171,7 @@ We recommend Visual Studio 2019 or better on a 64-bit system.") else() target_compile_options( simdjson-internal-flags INTERFACE - -Werror -Wall -Wextra -Weffc++ -Wsign-compare -Wshadow -Wwrite-strings + -Wall -Wextra -Weffc++ -Wsign-compare -Wshadow -Wwrite-strings -Wpointer-arith -Winit-self -Wconversion -Wno-sign-conversion ) if(CMAKE_CXX_STANDARD VERSION_GREATER_EQUAL 20) diff --git a/examples/quickstart/add_quickstart_test.cmake b/examples/quickstart/add_quickstart_test.cmake index 4c965df5b..6dc17cd57 100644 --- a/examples/quickstart/add_quickstart_test.cmake +++ b/examples/quickstart/add_quickstart_test.cmake @@ -2,13 +2,6 @@ function(add_quickstart_test TEST_NAME SOURCE_FILE) cmake_parse_arguments(PARSE_ARGV 2 ARGS "NO_EXCEPTIONS;NATIVE_ARCH" "" "CXX_STANDARD;LABELS") - # Standard compiler flags - if (MSVC) - list(APPEND QUICKSTART_FLAGS /WX) - else() - list(APPEND QUICKSTART_FLAGS -Werror) - endif() - # Native architecture compiler flag if (ARGS_NATIVE_ARCH) if (MSVC)