aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorredfish <redfish@galactica.pw>2017-09-08 18:14:55 -0400
committerredfish <redfish@galactica.pw>2017-09-24 11:25:11 -0400
commit0a70ba2c01b2e417bb8667f56a88dde044565c1a (patch)
treedeac3e7d2b97e2005e5f7881b3028aba87b1ce6a /CMakeLists.txt
parentMerge pull request #2496 (diff)
downloadmonero-0a70ba2c01b2e417bb8667f56a88dde044565c1a.tar.xz
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.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt18
1 files 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)")