From 0a70ba2c01b2e417bb8667f56a88dde044565c1a Mon Sep 17 00:00:00 2001 From: redfish Date: Fri, 8 Sep 2017 18:14:55 -0400 Subject: [PATCH] cmake: fix setting of -Werror Setting COMPILE_FLAGS (or COMPILE_OPTIONS) property directly does not end up on the command line (even though it should because add_compile_options does just that). Also, set -Werror for tests as well, because no warnings now. Not set for 'external' only because simply moving add_compile_options above add_subdirectory(external) doesn't do it, and moving add_usbdirectory down is too big of a change (it will pick up new flags). -Werror set only for GCC on Linux, since warnings not yet cleared for other compilers/systems. --- CMakeLists.txt | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 971c097ff..535f3ab25 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -699,25 +699,19 @@ if(NOT ZMQ_LIB) message(FATAL_ERROR "Could not find require libzmq") endif() -function (treat_warnings_as_errors dirs) - foreach(dir ${ARGV}) - set_property(DIRECTORY ${dir} - APPEND PROPERTY COMPILE_FLAGS "-Werror") - endforeach() -endfunction() - -add_subdirectory(contrib) -add_subdirectory(src) - -treat_warnings_as_errors(contrib src) - option(BUILD_TESTS "Build tests." OFF) if(BUILD_TESTS) add_subdirectory(tests) endif() +# warnings are cleared only for GCC on Linux +if (NOT (MINGW OR APPLE OR FREEBSD OR OPENBSD OR DRAGONFLY)) +add_compile_options("${WARNINGS_AS_ERRORS_FLAG}") # applies only to targets that follow +endif() +add_subdirectory(contrib) +add_subdirectory(src) if(BUILD_DOCUMENTATION) set(DOC_GRAPHS "YES" CACHE STRING "Create dependency graphs (needs graphviz)")