mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-15 21:17:41 +00:00
build: scope -Werror to the Clang family so GCC builds again (#15701)
This commit is contained in:
@@ -587,10 +587,15 @@ if ((NOT MSVC OR IS_CLANG_CL) AND ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR
|
|||||||
add_compile_options(-Wno-${w})
|
add_compile_options(-Wno-${w})
|
||||||
endforeach ()
|
endforeach ()
|
||||||
|
|
||||||
# Turn everything else into an error. Dependency headers are exempt because the SYSTEM
|
# GCC is not built in CI, so don't throw errors CI won't catch.
|
||||||
# include flag (-imsvc on clang-cl, -isystem elsewhere) keeps their diagnostics out,
|
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||||
# apart from GCC's maybe-uninitialized, demoted below.
|
add_compile_options(-Werror=return-type)
|
||||||
add_compile_options(-Werror)
|
else ()
|
||||||
|
# Turn everything else into an error. Dependency headers are exempt because the
|
||||||
|
# SYSTEM include flag (-imsvc on clang-cl, -isystem elsewhere) keeps their
|
||||||
|
# diagnostics out.
|
||||||
|
add_compile_options(-Werror)
|
||||||
|
endif ()
|
||||||
|
|
||||||
# Demoted. Remove a name once its category is cleared on every compiler.
|
# Demoted. Remove a name once its category is cleared on every compiler.
|
||||||
set(warnings_demoted)
|
set(warnings_demoted)
|
||||||
@@ -612,20 +617,6 @@ if ((NOT MSVC OR IS_CLANG_CL) AND ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR
|
|||||||
cast-function-type-mismatch
|
cast-function-type-mismatch
|
||||||
)
|
)
|
||||||
endif ()
|
endif ()
|
||||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
|
||||||
list(APPEND warnings_demoted
|
|
||||||
# maybe-uninitialized runs after inlining and reports inside boost/variant,
|
|
||||||
# boost/tuple and the bundled clipper header even with -isystem.
|
|
||||||
maybe-uninitialized
|
|
||||||
|
|
||||||
# array-bounds is reported once, where ConfigOptionVector::set_at inlines
|
|
||||||
# into OrcaSlicer.cpp on a branch the preceding type test rules out.
|
|
||||||
array-bounds
|
|
||||||
|
|
||||||
# template-id-cdtor is a GCC 14+ warning in the bundled Clipper2 headers.
|
|
||||||
template-id-cdtor
|
|
||||||
)
|
|
||||||
endif ()
|
|
||||||
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||||
list(APPEND warnings_demoted
|
list(APPEND warnings_demoted
|
||||||
# enum-constexpr-conversion is a Clang warning that defaults to an error,
|
# enum-constexpr-conversion is a Clang warning that defaults to an error,
|
||||||
|
|||||||
Reference in New Issue
Block a user