diff options
author | David Cole <david.cole@kitware.com> | 2011-07-27 19:01:50 (GMT) |
---|---|---|
committer | David Cole <david.cole@kitware.com> | 2011-07-27 19:01:50 (GMT) |
commit | b7f3f7cdb62fcadba806aca8168c88a9a637eda6 (patch) | |
tree | dc00d0b8edd1b18488127aba56bcbe7a82486ac2 | |
parent | 49a00ec2def5882aa056638c3ae0b3088157de93 (diff) | |
download | CMake-b7f3f7cdb62fcadba806aca8168c88a9a637eda6.zip CMake-b7f3f7cdb62fcadba806aca8168c88a9a637eda6.tar.gz CMake-b7f3f7cdb62fcadba806aca8168c88a9a637eda6.tar.bz2 |
Add fail regex to detect supported warning flags correctly.
On Apple's gcc, the compiler emits a warning such as "warning: command
line option "-Wno-deprecated" is valid for C++/ObjC++ but not for C"
when it is passed that flag on its command line.
When testing for that flag with a plain C file, we should report that
the flag is unsupported for C files. The new FAIL_REGEX option added
here produces this behavior.
-rw-r--r-- | Modules/CheckCCompilerFlag.cmake | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Modules/CheckCCompilerFlag.cmake b/Modules/CheckCCompilerFlag.cmake index a03b64d..a390b38 100644 --- a/Modules/CheckCCompilerFlag.cmake +++ b/Modules/CheckCCompilerFlag.cmake @@ -27,6 +27,8 @@ MACRO (CHECK_C_COMPILER_FLAG _FLAG _RESULT) SET(CMAKE_REQUIRED_DEFINITIONS "${_FLAG}") CHECK_C_SOURCE_COMPILES("int main(void) { return 0; }" ${_RESULT} # Some compilers do not fail with a bad flag + FAIL_REGEX "warning: command line option .* is valid for .* but not for C" + # Apple gcc FAIL_REGEX "unrecognized .*option" # GNU FAIL_REGEX "ignoring unknown option" # MSVC FAIL_REGEX "warning D9002" # MSVC, any lang @@ -36,4 +38,3 @@ MACRO (CHECK_C_COMPILER_FLAG _FLAG _RESULT) ) SET (CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}") ENDMACRO (CHECK_C_COMPILER_FLAG) - |