From 3857034289e357dbe216f990d7f916c9c38080b2 Mon Sep 17 00:00:00 2001 From: anonimal Date: Sat, 21 Apr 2018 09:30:55 +0000 Subject: [PATCH] Build: update CMake and p2p for in-tree miniupnp (cherry picked from commit a7366b5feeffaeb65b217b2d6f138e0ab1c90192) --- CMakeLists.txt | 8 -------- external/CMakeLists.txt | 41 ++++++++++------------------------------- src/p2p/net_node.inl | 13 +++---------- 3 files changed, 13 insertions(+), 49 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 08b47eaf6..b1297e716 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -430,14 +430,6 @@ include_directories("${CMAKE_CURRENT_BINARY_DIR}/translations") add_subdirectory(external) -# Final setup for miniupnpc -if(UPNP_STATIC OR IOS) - add_definitions("-DUPNP_STATIC") -else() - add_definitions("-DUPNP_DYNAMIC") - include_directories(${UPNP_INCLUDE}) -endif() - # Final setup for libunbound include_directories(${UNBOUND_INCLUDE}) link_directories(${UNBOUND_LIBRARY_DIRS}) diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index b4f712ee6..1fc4d64c1 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -34,43 +34,22 @@ # We always compile if we are building statically to reduce static dependency issues... # ...except for FreeBSD, because FreeBSD is a special case that doesn't play well with # others. -if(NOT IOS) - find_package(Miniupnpc QUIET) -endif() -# If we have the correct shared version and we're not building static, use it -if(STATIC OR IOS) - set(USE_SHARED_MINIUPNPC false) -elseif(MINIUPNP_FOUND AND MINIUPNPC_VERSION_1_7_OR_HIGHER) - set(USE_SHARED_MINIUPNPC true) -endif() +find_package(Miniupnpc REQUIRED) -if(USE_SHARED_MINIUPNPC) - message(STATUS "Using shared miniupnpc found at ${MINIUPNP_INCLUDE_DIR}") +message(STATUS "Using in-tree miniupnpc") - set(UPNP_STATIC false PARENT_SCOPE) - set(UPNP_INCLUDE ${MINIUPNP_INCLUDE_DIR} PARENT_SCOPE) - set(UPNP_LIBRARIES ${MINIUPNP_LIBRARY} PARENT_SCOPE) -else() - if(STATIC) - message(STATUS "Using miniupnpc from local source tree for static build") - else() - message(STATUS "Using miniupnpc from local source tree (/external/miniupnp/miniupnpc)") - endif() +add_subdirectory(miniupnp/miniupnpc) - add_subdirectory(miniupnp/miniupnpc) - - set_property(TARGET libminiupnpc-static PROPERTY FOLDER "external") - if(MSVC) - set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -wd4244 -wd4267") - elseif(NOT MSVC) - set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-undef -Wno-unused-result -Wno-unused-value") - endif() - - set(UPNP_STATIC true PARENT_SCOPE) - set(UPNP_LIBRARIES "libminiupnpc-static" PARENT_SCOPE) +set_property(TARGET libminiupnpc-static PROPERTY FOLDER "external") +if(MSVC) + set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -wd4244 -wd4267") +elseif(NOT MSVC) + set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-undef -Wno-unused-result -Wno-unused-value") endif() +set(UPNP_LIBRARIES "libminiupnpc-static" PARENT_SCOPE) + find_package(Unbound) if(NOT UNBOUND_INCLUDE_DIR OR STATIC) diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl index 672850b36..17dcd8ef1 100755 --- a/src/p2p/net_node.inl +++ b/src/p2p/net_node.inl @@ -49,16 +49,9 @@ #include "storages/levin_abstract_invoke2.h" #include "cryptonote_core/cryptonote_core.h" -// We have to look for miniupnpc headers in different places, dependent on if its compiled or external -#ifdef UPNP_STATIC - #include - #include - #include -#else - #include "miniupnpc.h" - #include "upnpcommands.h" - #include "upnperrors.h" -#endif +#include +#include +#include #undef MONERO_DEFAULT_LOG_CATEGORY #define MONERO_DEFAULT_LOG_CATEGORY "net.p2p"