diff options
Diffstat (limited to 'external/CMakeLists.txt')
-rw-r--r-- | external/CMakeLists.txt | 46 |
1 files changed, 31 insertions, 15 deletions
diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index 1fc4d64c1..4757b2a3b 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -37,14 +37,18 @@ find_package(Miniupnpc REQUIRED) -message(STATUS "Using in-tree miniupnpc") - -add_subdirectory(miniupnp/miniupnpc) - -set_property(TARGET libminiupnpc-static PROPERTY FOLDER "external") +if(DEPENDS) + message(STATUS "Using static depends miniupnpc found at ${MINIUPNP_LIBRARIES}") + set(UPNP_STATIC true PARENT_SCOPE) + set(UPNP_LIBRARIES ${MINIUPNP_LIBRARY} PARENT_SCOPE) +else() + message(STATUS "Using in-tree miniupnpc") + add_subdirectory(miniupnp/miniupnpc) + set_property(TARGET libminiupnpc-static PROPERTY FOLDER "external") +endif() if(MSVC) set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -wd4244 -wd4267") -elseif(NOT MSVC) +elseif(NOT MSVC AND NOT DEPENDS) set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-undef -Wno-unused-result -Wno-unused-value") endif() @@ -52,7 +56,7 @@ set(UPNP_LIBRARIES "libminiupnpc-static" PARENT_SCOPE) find_package(Unbound) -if(NOT UNBOUND_INCLUDE_DIR OR STATIC) +if(NOT UNBOUND_INCLUDE_DIR OR STATIC AND NOT DEPENDS) # NOTE: If STATIC is true, CMAKE_FIND_LIBRARY_SUFFIXES has been reordered. # unbound has config tests which used OpenSSL libraries, so -ldl may need to # be set in this case. @@ -65,15 +69,27 @@ if(NOT UNBOUND_INCLUDE_DIR OR STATIC) set(UNBOUND_LIBRARY "unbound" PARENT_SCOPE) set(UNBOUND_LIBRARY_DIRS "${LIBEVENT2_LIBDIR}" PARENT_SCOPE) else() - message(STATUS "Found libunbound include (unbound.h) in ${UNBOUND_INCLUDE_DIR}") - if(UNBOUND_LIBRARIES) - message(STATUS "Found libunbound shared library") - set(UNBOUND_STATIC false PARENT_SCOPE) - set(UNBOUND_INCLUDE ${UNBOUND_INCLUDE_DIR} PARENT_SCOPE) - set(UNBOUND_LIBRARY ${UNBOUND_LIBRARIES} PARENT_SCOPE) - set(UNBOUND_LIBRARY_DIRS "" PARENT_SCOPE) + if(DEPENDS) + message(STATUS "Found libunbound include (unbound.h) in ${UNBOUND_INCLUDE_DIR}") + if(UNBOUND_LIBRARIES) + message(STATUS "Found libunbound library in ${UNBOUND_LIBRARIES}") + set(UNBOUND_STATIC true PARENT_SCOPE) + set(UNBOUND_LIBRARY ${UNBOUND_LIBRARIES} PARENTSCOPE) + set(UNBOUND_LIBRARY_DIRS "" PARENT_SCOPE) + else() + die("Found libunbound includes, but could not find libunbound library. Please make sure you have installed libunbound or libunbound-dev or the equivalent") + endif() else() - die("Found libunbound includes, but could not find libunbound library. Please make sure you have installed libunbound or libunbound-dev or the equivalent") + message(STATUS "Found libunbound include (unbound.h) in ${UNBOUND_INCLUDE_DIR}") + if(UNBOUND_LIBRARIES) + message(STATUS "Found libunbound shared library") + set(UNBOUND_STATIC false PARENT_SCOPE) + set(UNBOUND_INCLUDE ${UNBOUND_INCLUDE_DIR} PARENT_SCOPE) + set(UNBOUND_LIBRARY ${UNBOUND_LIBRARIES} PARENT_SCOPE) + set(UNBOUND_LIBRARY_DIRS "" PARENT_SCOPE) + else() + die("Found libunbound includes, but could not find libunbound library. Please make sure you have installed libunbound or libunbound-dev or the equivalent") + endif() endif() endif() |