diff --git a/cmake/modules/CheckCLinkerFlag.cmake b/cmake/modules/CheckCLinkerFlag.cmake index f657a9b884..9a9096b7e1 100644 --- a/cmake/modules/CheckCLinkerFlag.cmake +++ b/cmake/modules/CheckCLinkerFlag.cmake @@ -41,6 +41,13 @@ MACRO (CHECK_C_LINKER_FLAG _FLAG _RESULT) # passed a flag it doesn't handle. # set(CMAKE_REQUIRED_LIBRARIES "/WX") + elseif(CMAKE_C_COMPILER_ID MATCHES "Clang") + # + # We'll be running the linker through the compiler driver, so + # we may need to pass -Werror=unknown-warning-option to have it + # fail, rather than just complaining and driving on, if it's + # passed a flag it doesn't handle. + set(CMAKE_REQUIRED_LIBRARIES "-Werror=unknown-warning-option") endif() set(CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES} ${_FLAG}") message(status "check linker flag - test linker flags: ${_FLAG}")