diff --git a/c/CMakeLists.txt b/c/CMakeLists.txt index 27b40e7..a3a5d38 100644 --- a/c/CMakeLists.txt +++ b/c/CMakeLists.txt @@ -377,11 +377,15 @@ if (PROACTOR STREQUAL "iocp" OR (NOT PROACTOR AND NOT PROACTOR_OK)) endif() if (PROACTOR STREQUAL "libuv" OR (NOT PROACTOR AND NOT PROACTOR_OK)) - find_package(Libuv) + find_package(Libuv NAMES libuv CONFIG) if (Libuv_FOUND) set (PROACTOR_OK libuv) set (qpid-proton-proactor src/proactor/libuv.c ${qpid-proton-proactor-common}) - set (PROACTOR_LIBS Libuv::Libuv) + if (TARGET uv) + set (PROACTOR_LIBS uv) + else() + set (PROACTOR_LIBS uv_a) + endif() endif() endif() @@ -727,11 +731,6 @@ install (FILES ${CMAKE_CURRENT_BINARY_DIR}/ProtonConfig.cmake ${CMAKE_CURRENT_BINARY_DIR}/ProtonConfigVersion.cmake DESTINATION ${LIB_INSTALL_DIR}/cmake/Proton) -install (FILES - ../tools/cmake/Modules/FindCyrusSASL.cmake - ../tools/cmake/Modules/FindOpenSSL.cmake - ../tools/cmake/Modules/FindThreads.cmake - DESTINATION ${LIB_INSTALL_DIR}/cmake/Proton) if (ENABLE_BENCHMARKS) add_subdirectory(benchmarks) diff --git a/c/src/ProtonConfig.cmake.in b/c/src/ProtonConfig.cmake.in index 6bcc3c0..2f03dc4 100644 --- a/c/src/ProtonConfig.cmake.in +++ b/c/src/ProtonConfig.cmake.in @@ -23,7 +23,8 @@ # URL: http://qpid.apache.org/proton/ @PACKAGE_INIT@ -if (NOT Proton_USE_STATIC_LIBS) +include(CMakeFindDependencyMacro) +if (1) include("${CMAKE_CURRENT_LIST_DIR}/ProtonTargets.cmake") else() include("${CMAKE_CURRENT_LIST_DIR}/ProtonTargetsStatic.cmake") @@ -32,24 +33,21 @@ endif() set(Proton_VERSION @PN_VERSION@) # find dependencies, because static libs don't transitively pull them -if (Proton_USE_STATIC_LIBS) - set(CMAKE_MODULE_PATH_OLD ${CMAKE_MODULE_PATH}) - set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") +if (1) set(CyrusSASL_FOUND @CyrusSASL_FOUND@) if (CyrusSASL_FOUND) - find_package (CyrusSASL REQUIRED) + find_dependency (CyrusSASL) endif() set(OPENSSL_FOUND @OPENSSL_FOUND@) set(OpenSSL_FOUND @OpenSSL_FOUND@) if (OPENSSL_FOUND OR OpenSSL_FOUND) - find_package (OpenSSL REQUIRED) + find_dependency (OpenSSL) endif() - find_package (Threads REQUIRED) + find_dependency (Threads) - set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH_OLD}) endif() set (Proton_INCLUDE_DIRS @PACKAGE_INCLUDE_INSTALL_DIR@) diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 03fe80a..89c14ed 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -26,12 +26,15 @@ find_package(Threads) include(versions.cmake) # Check for JSON-CPP support for connection configuration -find_package(JsonCpp) -option(ENABLE_JSONCPP "Use jsoncpp parser for connection configuration" ${JsonCpp_FOUND}) +option(ENABLE_JSONCPP "Use jsoncpp parser for connection configuration" OFF) if (ENABLE_JSONCPP) - include_directories(${JsonCpp_INCLUDE_DIRS}) + find_package(jsoncpp CONFIG REQUIRED) set(CONNECT_CONFIG_SRC src/connect_config.cpp) - set(CONNECT_CONFIG_LIBS ${JsonCpp_LIBRARY}) + if (TARGET jsoncpp_lib) + set(CONNECT_CONFIG_LIBS jsoncpp_lib) + elseif (TARGET jsoncpp_static) + set(CONNECT_CONFIG_LIBS jsoncpp_static) + endif() else() set(CONNECT_CONFIG_SRC src/connect_config_dummy.cpp) endif() diff --git a/cpp/ProtonCppConfig.cmake.in b/cpp/ProtonCppConfig.cmake.in index 74ddfaa..2fece73 100644 --- a/cpp/ProtonCppConfig.cmake.in +++ b/cpp/ProtonCppConfig.cmake.in @@ -23,7 +23,9 @@ # URL: http://qpid.apache.org/proton/ @PACKAGE_INIT@ -if (NOT ProtonCpp_USE_STATIC_LIBS) +include(CMakeFindDependencyMacro) +find_dependency(Proton CONFIG) +if (1) include("${CMAKE_CURRENT_LIST_DIR}/ProtonCppTargets.cmake") else() include("${CMAKE_CURRENT_LIST_DIR}/ProtonCppTargetsStatic.cmake")