diff options
Diffstat (limited to 'Tests/RunCMake/CompileWarningAsError/WarningAsErrorOptions.cmake')
-rw-r--r-- | Tests/RunCMake/CompileWarningAsError/WarningAsErrorOptions.cmake | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/Tests/RunCMake/CompileWarningAsError/WarningAsErrorOptions.cmake b/Tests/RunCMake/CompileWarningAsError/WarningAsErrorOptions.cmake index ccc6cc5..b5b981c 100644 --- a/Tests/RunCMake/CompileWarningAsError/WarningAsErrorOptions.cmake +++ b/Tests/RunCMake/CompileWarningAsError/WarningAsErrorOptions.cmake @@ -1,18 +1,22 @@ # add compile options to warning_options to ensure unused-function throws a warning # if warning_options is NOT DEFINED, assume compiler doesn't support warning as error -macro(get_warning_options warning_options) - if (CMAKE_CXX_COMPILER_ID MATCHES "^(GNU|Clang|AppleClang|XLClang|IBMClang|LCC|NVCC|IntelLLVM)$") +macro(get_warning_options warning_options lang) + if (CMAKE_${lang}_COMPILER_ID MATCHES "^(GNU|Clang|AppleClang|XLClang|IBMClang|LCC|IntelLLVM)$") set(${warning_options} "-Wall") - elseif (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" - OR (CMAKE_CXX_COMPILER_ID STREQUAL "Intel" AND CMAKE_CXX_SIMULATE_ID MATCHES "MSVC")) + elseif (CMAKE_${lang}_COMPILER_ID STREQUAL "MSVC" + OR (CMAKE_${lang}_COMPILER_ID STREQUAL "Intel" AND CMAKE_${lang}_SIMULATE_ID MATCHES "MSVC")) set(${warning_options} "-W4") - elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Intel") + elseif (CMAKE_${lang}_COMPILER_ID STREQUAL "Intel") set(${warning_options} "-w3") - elseif (CMAKE_CXX_COMPILER_ID STREQUAL "XL") + elseif (CMAKE_${lang}_COMPILER_ID STREQUAL "XL") set(${warning_options} "-qinfo=all") - elseif (CMAKE_CXX_COMPILER_ID STREQUAL "SunPro") - set(${warning_options} "+w;+w2") - elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Fujitsu") + elseif (CMAKE_${lang}_COMPILER_ID STREQUAL "SunPro") + if(lang STREQUAL CXX) + set(${warning_options} "+w;+w2") + else() + set(${warning_options} "") + endif() + elseif (CMAKE_${lang}_COMPILER_ID STREQUAL "Fujitsu") set(${warning_options} "SHELL:-w 8") endif() endmacro() |