Commit fc618803 authored by Fumitoshi Ukai's avatar Fumitoshi Ukai Committed by GitHub

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

cmake: fixed clang warning propagation to gcc
parents 0472b91c e6c26b2b
...@@ -101,8 +101,14 @@ check_function_exists (pwrite HAVE_PWRITE) ...@@ -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) ...@@ -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) ...@@ -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})
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment