From e6c26b2b94279f5645f99d431236eb855728c80b Mon Sep 17 00:00:00 2001 From: Sergiu Deitsch Date: Fri, 7 Oct 2016 11:03:19 +0200 Subject: [PATCH] cmake: fixed clang warning propagation to gcc --- CMakeLists.txt | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ecb1355..8ffbc6b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -101,8 +101,14 @@ check_function_exists (pwrite HAVE_PWRITE) check_function_exists (sigaction HAVE_SIGACTION) check_function_exists (sigaltstack HAVE_SIGALSTACK) -check_cxx_compiler_flag (-Wno-deprecated HAVE_NO_DEPRECATED) -check_cxx_compiler_flag (-Wno-unnamed-type-template-args +# NOTE gcc does not fail if you pass a non-existent -Wno-* option as an +# argument. However, it will happily fail if you pass the corresponding -W* +# option. So, we check whether options that disable warnings exist by testing +# the availability of the corresponding option that enables the warning. This +# eliminates the need to check for compiler for several (mainly Clang) options. + +check_cxx_compiler_flag (-Wdeprecated HAVE_NO_DEPRECATED) +check_cxx_compiler_flag (-Wunnamed-type-template-args HAVE_NO_UNNAMED_TYPE_TEMPLATE_ARGS) # NOTE: Cannot use check_function_exists here since >=vc-14.0 can define @@ -368,6 +374,8 @@ if (WIN32) ) endif (WIN32) +add_compile_options ($<$:-Wno-unnamed-type-template-args>) + add_library (glog ${GLOG_SRCS} ) @@ -381,10 +389,6 @@ if (WIN32 AND HAVE_SNPRINTF) HAVE_SNPRINTF) endif (WIN32 AND HAVE_SNPRINTF) -if (HAVE_NO_UNNAMED_TYPE_TEMPLATE_ARGS) - target_compile_options (glog PUBLIC -Wno-unnamed-type-template-args) -endif (HAVE_NO_UNNAMED_TYPE_TEMPLATE_ARGS) - if (gflags_FOUND) target_include_directories (glog PUBLIC ${gflags_INCLUDE_DIR}) target_link_libraries (glog PUBLIC ${gflags_LIBRARIES}) -- 2.7.4