diff --git a/.devcontainer/clang_toolchain.cmake b/.devcontainer/clang_toolchain.cmake index 670754a914ea85daf2925a63979bb27e501e9d3a..d41a265f7b49d9ce93de63cd22bcc2788e16515c 100644 --- a/.devcontainer/clang_toolchain.cmake +++ b/.devcontainer/clang_toolchain.cmake @@ -11,6 +11,7 @@ set(CMAKE_CXX_COMPILER_TARGET aarch64-linux-gnu) set(GNU_MACHINE aarch64-linux-gnu) set(CMAKE_FIND_LIBRARY_SUFFIXES ".a") set(CMAKE_BUILD_WITH_INSTALL_RPATH ON) +set(CMAKE_COMPILE_WARNING_AS_ERROR ON) set(CMAKE_BUILD_RPATH "") set(CMAKE_SHARED_LINKER_FLAGS "-fuse-ld=lld ${CMAKE_SHARED_LINKER_FLAGS}") set(CMAKE_EXE_LINKER_FLAGS "--rtlib=compiler-rt -fuse-ld=lld -static ${CMAKE_EXE_LINKER_FLAGS}") diff --git a/benchmark/CMakeLists.txt b/benchmark/CMakeLists.txt index 9f29557cb36969d4297769eec491b48fe1a5cf00..5e79c0c4e186e419bb7ae2b51ca293a173e0020b 100644 --- a/benchmark/CMakeLists.txt +++ b/benchmark/CMakeLists.txt @@ -30,7 +30,6 @@ set(KLEIDICV_INCLUDE_DIR set(KLEIDICV_BENCHMARK_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) set(KLEIDICV_BENCHMARK_CXX_FLAGS - "-Werror" "-Wall" "-Wextra" "-Wold-style-cast" diff --git a/kleidicv/CMakeLists.txt b/kleidicv/CMakeLists.txt index 4bef9981c5182fe50a3e1db6abd42c93224e0cf5..1f3969e7840dd0f7cff290123bf6d0143df386b7 100644 --- a/kleidicv/CMakeLists.txt +++ b/kleidicv/CMakeLists.txt @@ -92,7 +92,6 @@ set(KLEIDICV_INCLUDE_DIRS ) set(KLEIDICV_WARNING_FLAGS - "-Werror" "-Wall" "-Wextra" "-Wold-style-cast" diff --git a/scripts/build.sh b/scripts/build.sh index 56327eb7b9b0fb82c5c84afe756a96014c59bab9..1d2d86dc011e8402e71ec95017109c7727e214ee 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -90,6 +90,7 @@ cmake_config_args=( -G "${CMAKE_GENERATOR}" "-DCMAKE_VERBOSE_MAKEFILE=${CMAKE_VERBOSE_MAKEFILE}" "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" + "-DCMAKE_COMPILE_WARNING_AS_ERROR=ON" "-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}" "-DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}" "-DCMAKE_SHARED_LINKER_FLAGS=${CMAKE_SHARED_LINKER_FLAGS}" diff --git a/scripts/ci.sh b/scripts/ci.sh index c8b170b3d0ba9fef66e8981f957bb6a3f00bcb0b..c097b4498577ffc94f5f61ee767e45f072944598 100755 --- a/scripts/ci.sh +++ b/scripts/ci.sh @@ -33,6 +33,7 @@ doxygen # Build cmake -S . -B build -G Ninja \ + -DCMAKE_COMPILE_WARNING_AS_ERROR=ON \ -DCMAKE_CXX_CLANG_TIDY=clang-tidy \ -DCMAKE_CXX_FLAGS="--target=aarch64-linux-gnu --coverage" \ -DCMAKE_EXE_LINKER_FLAGS="--rtlib=compiler-rt -static -fuse-ld=lld" \ @@ -46,6 +47,7 @@ ninja -C build # Build with GCC CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ cmake -S . -B build/gcc -G Ninja \ + -DCMAKE_COMPILE_WARNING_AS_ERROR=ON \ -DCMAKE_EXE_LINKER_FLAGS="-static" ninja -C build/gcc @@ -76,6 +78,7 @@ if [[ $(dpkg --print-architecture) = arm64 ]]; then # Clang address & undefined behaviour sanitizers cmake -S . -B build/sanitize -G Ninja \ -DCMAKE_BUILD_TYPE=Debug \ + -DCMAKE_COMPILE_WARNING_AS_ERROR=ON \ -DKLEIDICV_ENABLE_SME2=OFF \ -DCMAKE_CXX_FLAGS="-fsanitize=address,undefined -fno-sanitize-recover=all -Wno-pass-failed" ninja -C build/sanitize kleidicv-api-test @@ -85,6 +88,7 @@ fi # Build benchmarks, just to prevent bitrot. cmake -S . -B build/build-benchmark -G Ninja \ -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_COMPILE_WARNING_AS_ERROR=ON \ -DCMAKE_CROSSCOMPILING_EMULATOR=qemu-aarch64 \ -DCMAKE_CXX_COMPILER_TARGET=aarch64-linux-gnu \ -DCMAKE_EXE_LINKER_FLAGS="--rtlib=compiler-rt -static -fuse-ld=lld" \ diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 478ef714e173158a90ad84650ed5d4061361ddb7..ab408a553bc7fe7e4971bc36b2c5bf0179f52c7e 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -14,7 +14,6 @@ set(KLEIDICV_TEST_INCLUDE_DIR ) set(KLEIDICV_TEST_CXX_FLAGS - "-Werror" "-Wall" "-Wextra" "-Wold-style-cast"