aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt47
1 files changed, 28 insertions, 19 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3d53e049e..1f74f59e3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -186,7 +186,7 @@ endif()
# elseif(CMAKE_SYSTEM_NAME MATCHES ".*BSDI.*")
# set(BSDI TRUE)
-include_directories(external/easylogging++ src contrib/epee/include external "${CMAKE_BINARY_DIR}/version")
+include_directories(external/easylogging++ src contrib/epee/include external)
if(APPLE)
include_directories(SYSTEM /usr/include/malloc)
@@ -234,6 +234,7 @@ if(STATIC)
else()
set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
endif()
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DZMQ_STATIC")
endif()
# Set default blockchain storage location:
@@ -319,6 +320,12 @@ else()
message(STATUS "Stack trace on exception disabled")
endif()
+if (UNIX AND NOT APPLE)
+ # Note that at the time of this writing the -Wstrict-prototypes flag added below will make this fail
+ set(THREADS_PREFER_PTHREAD_FLAG ON)
+ find_package(Threads)
+endif()
+
# Handle OpenSSL, used for sha256sum on binary updates
if (APPLE AND NOT IOS)
if (NOT OpenSSL_DIR)
@@ -332,16 +339,10 @@ endif()
find_package(OpenSSL REQUIRED)
if(STATIC AND NOT IOS)
if(UNIX)
- set(OPENSSL_LIBRARIES "${OPENSSL_LIBRARIES};${CMAKE_DL_LIBS}")
+ set(OPENSSL_LIBRARIES "${OPENSSL_LIBRARIES};${CMAKE_DL_LIBS};${CMAKE_THREAD_LIBS_INIT}")
endif()
endif()
-if (UNIX AND NOT APPLE)
- # Note that at the time of this writing the -Wstrict-prototypes flag added below will make this fail
- set(THREADS_PREFER_PTHREAD_FLAG ON)
- find_package(Threads)
-endif()
-
add_definitions(-DAUTO_INITIALIZE_EASYLOGGINGPP)
add_subdirectory(external)
@@ -407,7 +408,7 @@ else()
set(WARNINGS "${WARNINGS} -Wno-error=inline-asm")
endif()
else()
- set(WARNINGS "${WARNINGS} -Wlogical-op -Wno-error=maybe-uninitialized")
+ set(WARNINGS "${WARNINGS} -Wlogical-op -Wno-error=maybe-uninitialized -Wno-error=cpp")
endif()
if(MINGW)
set(WARNINGS "${WARNINGS} -Wno-error=unused-value -Wno-error=unused-but-set-variable")
@@ -689,17 +690,19 @@ endif()
include(version.cmake)
-function (treat_warnings_as_errors dirs)
- foreach(dir ${ARGV})
- set_property(DIRECTORY ${dir}
- APPEND PROPERTY COMPILE_FLAGS "-Werror")
- endforeach()
-endfunction()
+find_path(ZMQ_INCLUDE_PATH zmq.hpp)
+find_library(ZMQ_LIB zmq)
+find_library(SODIUM_LIBRARY sodium)
-add_subdirectory(contrib)
-add_subdirectory(src)
-
-treat_warnings_as_errors(contrib src)
+if(NOT ZMQ_INCLUDE_PATH)
+ message(FATAL_ERROR "Could not find required header zmq.hpp")
+endif()
+if(NOT ZMQ_LIB)
+ message(FATAL_ERROR "Could not find required libzmq")
+endif()
+if(SODIUM_LIBRARY)
+ set(ZMQ_LIB "${ZMQ_LIB};${SODIUM_LIBRARY}")
+endif()
option(BUILD_TESTS "Build tests." OFF)
@@ -707,7 +710,13 @@ 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)")