diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake index b5f96e8f711..ca07c5c3618 100644 --- a/cmake/modules/HandleLLVMOptions.cmake +++ b/cmake/modules/HandleLLVMOptions.cmake @@ -3,6 +3,7 @@ # selections. include(AddLLVMDefinitions) +include(CheckCCompilerFlag) if( CMAKE_COMPILER_IS_GNUCXX ) set(LLVM_COMPILER_IS_GCC_COMPATIBLE ON) @@ -194,9 +195,13 @@ elseif( LLVM_COMPILER_IS_GCC_COMPATIBLE ) if (LLVM_ENABLE_PEDANTIC) add_llvm_definitions( -pedantic -Wno-long-long ) endif (LLVM_ENABLE_PEDANTIC) - check_cxx_compiler_flag("-Werror -Wcovered-switch-default" SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG) - if( SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG ) - add_llvm_definitions( -Wcovered-switch-default ) + check_cxx_compiler_flag("-Werror -Wcovered-switch-default" CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG) + if( CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG ) + set( CMAKE_CXX_FlAGS "${CMAKE_CXX_FLAGS} -Wcovered-switch-default" ) + endif() + check_c_compiler_flag("-Werror -Wcovered-switch-default" C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG) + if( C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG ) + set( CMAKE_C_FlAGS "${CMAKE_C_FLAGS} -Wcovered-switch-default" ) endif() endif (LLVM_ENABLE_WARNINGS) if (LLVM_ENABLE_WERROR)