diff --git a/CMakeLists.txt b/CMakeLists.txt index b041380..304b43e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,6 +11,15 @@ add_library(${PROJECT_NAME} INTERFACE) target_include_directories(${PROJECT_NAME} INTERFACE headers) target_compile_features(${PROJECT_NAME} INTERFACE cxx_std_17) +target_compile_options(${PROJECT_NAME} + INTERFACE + $<$,$>: + -Wno-c++98-compat-pedantic + -Wno-ctad-maybe-unsupported + -Wno-padded + -Wno-poison-system-directories + -Wno-unknown-warning-option>) + if(BUILD_AS_STANDALONE) option(BUILD_WITH_UNTESTS "Build with unit tests" ON) if(BUILD_WITH_UNTESTS) diff --git a/untests/CMakeLists.txt b/untests/CMakeLists.txt index 7b18715..c9beb8e 100644 --- a/untests/CMakeLists.txt +++ b/untests/CMakeLists.txt @@ -23,9 +23,12 @@ target_link_libraries(${PROJECT_NAME} kari.hpp) target_compile_options(${PROJECT_NAME} PRIVATE $<$: - /W4> + /WX /W4> PRIVATE - $<$,$,$>: - -Wall -Wextra -Wpedantic>) + $<$: + -Werror -Wall -Wextra -Wpedantic> + PRIVATE + $<$,$>: + -Werror -Weverything -Wconversion>) add_test(${PROJECT_NAME} ${PROJECT_NAME}) diff --git a/untests/doctest/doctest.hpp b/untests/doctest/doctest.hpp index c1fc7ee..cf95de5 100644 --- a/untests/doctest/doctest.hpp +++ b/untests/doctest/doctest.hpp @@ -4,8 +4,8 @@ #define STATIC_REQUIRE(...)\ static_assert(__VA_ARGS__, #__VA_ARGS__);\ - REQUIRE(__VA_ARGS__); + REQUIRE(__VA_ARGS__) #define STATIC_REQUIRE_FALSE(...)\ static_assert(!(__VA_ARGS__), "!(" #__VA_ARGS__ ")");\ - REQUIRE(!(__VA_ARGS__)); + REQUIRE(!(__VA_ARGS__)) diff --git a/untests/kari_ext_tests.cpp b/untests/kari_ext_tests.cpp index deb2027..c1526ef 100644 --- a/untests/kari_ext_tests.cpp +++ b/untests/kari_ext_tests.cpp @@ -13,7 +13,7 @@ using namespace kari_hpp::ext; TEST_CASE("kari_ext") { struct box final { int v; - constexpr box(int v): v(v) {} + constexpr box(int nv): v(nv) {} }; SUBCASE("fid") { diff --git a/untests/kari_tests.cpp b/untests/kari_tests.cpp index a1d2c0c..64aca60 100644 --- a/untests/kari_tests.cpp +++ b/untests/kari_tests.cpp @@ -471,7 +471,7 @@ TEST_CASE("kari") { : v_(v) {} box(box&&) = default; - box& operator=(box&&) = default; + box& operator=(box&&) = delete; box(const box&) = delete; box& operator=(const box&) = delete;