|
|
|
@ -412,22 +412,26 @@ function(pybind11_enable_warnings target_name)
@@ -412,22 +412,26 @@ function(pybind11_enable_warnings target_name)
|
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
if(PYBIND11_WERROR) |
|
|
|
|
if(MSVC) |
|
|
|
|
target_compile_options(${target_name} PRIVATE /WX) |
|
|
|
|
elseif(PYBIND11_CUDA_TESTS) |
|
|
|
|
target_compile_options(${target_name} PRIVATE "SHELL:-Werror all-warnings") |
|
|
|
|
elseif(CMAKE_CXX_COMPILER_ID MATCHES "(GNU|Clang|IntelLLVM)") |
|
|
|
|
target_compile_options(${target_name} PRIVATE -Werror) |
|
|
|
|
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") |
|
|
|
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") |
|
|
|
|
if(CMAKE_CXX_STANDARD EQUAL 17) # See PR #3570 |
|
|
|
|
target_compile_options(${target_name} PRIVATE -Wno-conversion) |
|
|
|
|
endif() |
|
|
|
|
target_compile_options( |
|
|
|
|
${target_name} |
|
|
|
|
PRIVATE |
|
|
|
|
-Werror-all |
|
|
|
|
# "Inlining inhibited by limit max-size", "Inlining inhibited by limit max-total-size" |
|
|
|
|
-diag-disable 11074,11076) |
|
|
|
|
# "Inlining inhibited by limit max-size", "Inlining inhibited by limit max-total-size" |
|
|
|
|
target_compile_options(${target_name} PRIVATE -diag-disable 11074,11076) |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
if(CMAKE_VERSION VERSION_LESS "3.24") |
|
|
|
|
if(MSVC) |
|
|
|
|
target_compile_options(${target_name} PRIVATE /WX) |
|
|
|
|
elseif(PYBIND11_CUDA_TESTS) |
|
|
|
|
target_compile_options(${target_name} PRIVATE "SHELL:-Werror all-warnings") |
|
|
|
|
elseif(CMAKE_CXX_COMPILER_ID MATCHES "(GNU|Clang|IntelLLVM)") |
|
|
|
|
target_compile_options(${target_name} PRIVATE -Werror) |
|
|
|
|
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") |
|
|
|
|
target_compile_options(${target_name} PRIVATE -Werror-all) |
|
|
|
|
endif() |
|
|
|
|
else() |
|
|
|
|
set_target_properties(${target_name} PROPERTIES COMPILE_WARNING_AS_ERROR ON) |
|
|
|
|
endif() |
|
|
|
|
endif() |
|
|
|
|
endfunction() |
|
|
|
|