Merge pull request #130 from sergiud/cmake-warning-fix

cmake: fixed clang warning propagation to gcc
This commit is contained in:
Fumitoshi Ukai 2016-10-19 15:51:45 +09:00 committed by GitHub
commit fc61880361

View File

@ -101,8 +101,14 @@ check_function_exists (pwrite HAVE_PWRITE)
check_function_exists (sigaction HAVE_SIGACTION) check_function_exists (sigaction HAVE_SIGACTION)
check_function_exists (sigaltstack HAVE_SIGALSTACK) check_function_exists (sigaltstack HAVE_SIGALSTACK)
check_cxx_compiler_flag (-Wno-deprecated HAVE_NO_DEPRECATED) # NOTE gcc does not fail if you pass a non-existent -Wno-* option as an
check_cxx_compiler_flag (-Wno-unnamed-type-template-args # 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) HAVE_NO_UNNAMED_TYPE_TEMPLATE_ARGS)
# NOTE: Cannot use check_function_exists here since >=vc-14.0 can define # NOTE: Cannot use check_function_exists here since >=vc-14.0 can define
@ -368,6 +374,8 @@ if (WIN32)
) )
endif (WIN32) endif (WIN32)
add_compile_options ($<$<BOOL:${HAVE_NO_UNNAMED_TYPE_TEMPLATE_ARGS}>:-Wno-unnamed-type-template-args>)
add_library (glog add_library (glog
${GLOG_SRCS} ${GLOG_SRCS}
) )
@ -385,10 +393,6 @@ if (WIN32 AND HAVE_SNPRINTF)
HAVE_SNPRINTF) HAVE_SNPRINTF)
endif (WIN32 AND 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) if (gflags_FOUND)
target_include_directories (glog PUBLIC ${gflags_INCLUDE_DIR}) target_include_directories (glog PUBLIC ${gflags_INCLUDE_DIR})
target_link_libraries (glog PUBLIC ${gflags_LIBRARIES}) target_link_libraries (glog PUBLIC ${gflags_LIBRARIES})