diff --git a/build/CMakeLists.txt b/build/CMakeLists.txt index 5001e05..1eb12b2 100644 --- a/build/CMakeLists.txt +++ b/build/CMakeLists.txt @@ -15,7 +15,7 @@ set(CMAKE_CXX_EXTENSIONS ON) set(CMAKE_CXX_SCAN_FOR_MODULES ON) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) -add_compile_options(-Wall -Wextra -Wpedantic -Wconversion) +add_compile_options(-Wall -Wextra -Wpedantic -Wconversion -Wno-missing-field-initializers) # ----- dependencies ----- find_package(reproc CONFIG REQUIRED) diff --git a/src/codegen/cmake.cpp b/src/codegen/cmake.cpp index 921b227..563f08a 100644 --- a/src/codegen/cmake.cpp +++ b/src/codegen/cmake.cpp @@ -75,7 +75,8 @@ auto emit_header(const manifest::Manifest& m) -> std::string { "set(CMAKE_CXX_SCAN_FOR_MODULES ON)\n" "set(CMAKE_EXPORT_COMPILE_COMMANDS ON)\n" "\n" - "add_compile_options(-Wall -Wextra -Wpedantic -Wconversion)\n", + "add_compile_options(-Wall -Wextra -Wpedantic -Wconversion " + "-Wno-missing-field-initializers)\n", m.package.name, edition_to_int(m.package.edition)); } diff --git a/tests/codegen_cmake.cpp b/tests/codegen_cmake.cpp index 123a6bc..d44be9a 100644 --- a/tests/codegen_cmake.cpp +++ b/tests/codegen_cmake.cpp @@ -290,7 +290,8 @@ TEST_CASE("cmake_lists emits baseline warnings", "[codegen][cmake]") { GenerateInputs in{m, layout, lock, {}, {}, ROOT}; auto out = cmake_lists(in); - REQUIRE(out.find("add_compile_options(-Wall -Wextra -Wpedantic -Wconversion)") != + REQUIRE(out.find("add_compile_options(-Wall -Wextra -Wpedantic -Wconversion " + "-Wno-missing-field-initializers)") != std::string::npos); }