From b8ead9b8a93f0293da52db3493670a7c52cfca4d Mon Sep 17 00:00:00 2001 From: Michael M Date: Mon, 14 Aug 2017 15:13:12 -0700 Subject: [PATCH 1/4] miniupnpc: use correct include dirs for cmake --- Externals/miniupnpc/CMakeLists.txt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Externals/miniupnpc/CMakeLists.txt b/Externals/miniupnpc/CMakeLists.txt index 873924aeb0..dc312e639d 100644 --- a/Externals/miniupnpc/CMakeLists.txt +++ b/Externals/miniupnpc/CMakeLists.txt @@ -18,8 +18,6 @@ if(APPLE) add_definitions(-DMACOSX -D_DARWIN_C_SOURCE) endif() -include_directories(include) - set(SRCS src/igd_desc_parse.c src/miniupnpc.c src/minixml.c @@ -35,4 +33,4 @@ set(SRCS src/igd_desc_parse.c src/receivedata.c) add_library(miniupnpc STATIC ${SRCS}) - +target_include_directories(miniupnpc PUBLIC src) From bd29183d7607c9e9722107bba0951597a2c24552 Mon Sep 17 00:00:00 2001 From: Michael M Date: Thu, 17 Aug 2017 13:14:20 -0700 Subject: [PATCH 2/4] miniupnpc: expose namespaced target alias --- Externals/miniupnpc/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Externals/miniupnpc/CMakeLists.txt b/Externals/miniupnpc/CMakeLists.txt index dc312e639d..efd45e000e 100644 --- a/Externals/miniupnpc/CMakeLists.txt +++ b/Externals/miniupnpc/CMakeLists.txt @@ -34,3 +34,5 @@ set(SRCS src/igd_desc_parse.c add_library(miniupnpc STATIC ${SRCS}) target_include_directories(miniupnpc PUBLIC src) + +add_library(Miniupnpc::miniupnpc ALIAS miniupnpc) From 26f5d500b908939ad0d61b723b3ee51e3eba9885 Mon Sep 17 00:00:00 2001 From: Michael M Date: Mon, 14 Aug 2017 15:12:28 -0700 Subject: [PATCH 3/4] FindMiniupnpc: expose imported library target --- CMake/FindMiniupnpc.cmake | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CMake/FindMiniupnpc.cmake b/CMake/FindMiniupnpc.cmake index 79b00c0621..f9a14e2a89 100644 --- a/CMake/FindMiniupnpc.cmake +++ b/CMake/FindMiniupnpc.cmake @@ -17,3 +17,11 @@ find_package_handle_standard_args(MINIUPNPC DEFAULT_MSG MINIUPNPC_INCLUDE_DIR MI set(MINIUPNPC_LIBRARIES ${MINIUPNPC_LIBRARY}) set(MINIUPNPC_INCLUDE_DIRS ${MINIUPNPC_INCLUDE_DIR}) mark_as_advanced(MINIUPNPC_INCLUDE_DIR MINIUPNPC_LIBRARY MINIUPNPC_API_VERSION_STR) + +if (MINIUPNPC_FOUND AND NOT TARGET miniupnpc) + add_library(Miniupnpc::miniupnpc UNKNOWN IMPORTED) + set_target_properties(Miniupnpc::miniupnpc PROPERTIES + IMPORTED_LOCATION ${MINIUPNPC_LIBRARIES} + INTERFACE_INCLUDE_DIRECTORIES ${MINIUPNPC_INCLUDE_DIRS} + ) +endif() From fc306faad839be2e9dc4f723f2c5fd59aec52f66 Mon Sep 17 00:00:00 2001 From: Michael M Date: Mon, 14 Aug 2017 15:13:49 -0700 Subject: [PATCH 4/4] CMake: use miniupnpc target instead of global vars --- CMakeLists.txt | 4 ---- Source/Core/Common/CMakeLists.txt | 4 ++++ 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 098caad8bb..a0cc27af12 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -670,12 +670,8 @@ if(USE_UPNP) else() message(STATUS "Using static miniupnpc from Externals") add_subdirectory(Externals/miniupnpc) - set(MINIUPNPC_INCLUDE_DIRS Externals/miniupnpc/src) - set(MINIUPNPC_LIBRARIES miniupnpc) endif() add_definitions(-DUSE_UPNP) - include_directories(${MINIUPNPC_INCLUDE_DIRS}) - list(APPEND LIBS ${MINIUPNPC_LIBRARIES}) endif() if(NOT APPLE) diff --git a/Source/Core/Common/CMakeLists.txt b/Source/Core/Common/CMakeLists.txt index 5019159b23..91eca8f2ae 100644 --- a/Source/Core/Common/CMakeLists.txt +++ b/Source/Core/Common/CMakeLists.txt @@ -120,6 +120,10 @@ endif() add_dolphin_library(common "${SRCS}" "${LIBS}") +if(USE_UPNP) + target_link_libraries(common PRIVATE Miniupnpc::miniupnpc) +endif() + if(OPROFILE_FOUND) target_link_libraries(common PRIVATE ${OPROFILE_LIBRARIES}) endif()