[vcpkg baseline][qpid-proton] Fix dependencies (#24267)

* [vcpkg baseline][qpid-proton] Fix dependencies

* version

* Re-fix jsoncpp

* version

* typo

* version

* okay fix for reals

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
This commit is contained in:
Jack·Boos·Yu 2022-04-21 16:06:18 +00:00 committed by GitHub
parent 9f074ffa17
commit 3f2dfb8d76
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 152 additions and 31 deletions

View File

@ -0,0 +1,117 @@
diff --git a/c/CMakeLists.txt b/c/CMakeLists.txt
index 27b40e7..1931b65 100644
--- a/c/CMakeLists.txt
+++ b/c/CMakeLists.txt
@@ -727,11 +727,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/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index 03fe80a..fd6a31d 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()
--- a/c/src/ProtonConfig.cmake.in
+++ b/c/src/ProtonConfig.cmake.in
@@ -20,39 +20,40 @@
# Name: Proton
# Description: Qpid Proton C library
# Version: @PN_VERSION@
# 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")
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(CMAKE_MODULE_PATH_OLD ${CMAKE_MODULE_PATH})
+ #set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}")
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})
+ #set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH_OLD})
endif()
set (Proton_INCLUDE_DIRS @PACKAGE_INCLUDE_INSTALL_DIR@)
set (Proton_LIBRARIES Proton::qpid-proton)
set (Proton_FOUND True)
--- a/cpp/ProtonCppConfig.cmake.in
+++ b/cpp/ProtonCppConfig.cmake.in
@@ -20,19 +20,21 @@
# Name: Proton
# Description: Qpid Proton C library
# Version: @PN_VERSION@
# 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")
endif()
set (ProtonCpp_VERSION @PN_VERSION@)
set (ProtonCpp_INCLUDE_DIRS @PACKAGE_INCLUDE_INSTALL_DIR@)
set (ProtonCpp_LIBRARIES Proton::cpp)
set (ProtonCpp_FOUND True)
check_required_components(ProtonCpp)

View File

@ -1,17 +1,23 @@
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
vcpkg_find_acquire_program(PYTHON3)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO apache/qpid-proton
REF fee5e94afb83b92ffa60a6f815d5102a67915166 # 0.37.0
SHA512 e9fbd02444dd073908186e6873b4e230e0a5971929e9b1a49758240d166f6da4e6c88d701c66d5e5539bea0beca380c763bffcef5b0e1ed5f9fc2691f5f86559
HEAD_REF next
PATCHES fix-dependencies.patch
)
file(REMOVE "${SOURCE_PATH}/tools/cmake/Modules/FindPython.cmake")
file(REMOVE "${SOURCE_PATH}/tools/cmake/Modules/FindOpenSSL.cmake")
file(REMOVE "${SOURCE_PATH}/tools/cmake/Modules/FindJsonCpp.cmake")
vcpkg_find_acquire_program(PYTHON3)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
DISABLE_PARALLEL_CONFIGURE # It may cause call CHECK_LIBRARY_EXISTS before call project to set the language
OPTIONS
-DBUILD_GO=no
-DCMAKE_DISABLE_FIND_PACKAGE_CyrusSASL=ON
@ -22,36 +28,32 @@ vcpkg_cmake_configure(
-DENABLE_BENCHMARKS=OFF
-DENABLE_FUZZ_TESTING=OFF
-DBUILD_TESTING=OFF
-DPYTHON_EXECUTABLE=${PYTHON3}
-DPython_EXECUTABLE=${PYTHON3}
)
vcpkg_cmake_install()
vcpkg_copy_pdbs()
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake)
set(configFiles
"${CURRENT_PACKAGES_DIR}/share/${PORT}/Proton/ProtonConfig.cmake"
"${CURRENT_PACKAGES_DIR}/share/${PORT}/ProtonCpp/ProtonCppConfig.cmake"
)
foreach(configFile IN LISTS configFiles)
vcpkg_replace_string("${configFile}"
"IMPORTED_LOCATION_DEBUG \"\${_IMPORT_PREFIX}/lib"
"IMPORTED_LOCATION_DEBUG \"\${_IMPORT_PREFIX}/debug/lib"
)
vcpkg_replace_string("${configFile}"
"debug \${_IMPORT_PREFIX}/lib"
"debug \${_IMPORT_PREFIX}/debug/lib"
)
endforeach()
vcpkg_fixup_pkgconfig()
# qpid-proton installs tests into share/proton; this is not desireable
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/proton")
configure_file(${CMAKE_CURRENT_LIST_DIR}/qpid-protonConfig.cmake
${CURRENT_PACKAGES_DIR}/share/${PORT}/qpid-protonConfig.cmake COPYONLY)
file(RENAME "${CURRENT_PACKAGES_DIR}/share/proton/LICENSE.txt"
"${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright")
vcpkg_copy_pdbs()
vcpkg_cmake_config_fixup(
PACKAGE_NAME Proton
CONFIG_PATH lib/cmake/Proton
DO_NOT_DELETE_PARENT_CONFIG_PATH
)
vcpkg_cmake_config_fixup(
PACKAGE_NAME ProtonCpp
CONFIG_PATH lib/cmake/ProtonCpp
)
vcpkg_fixup_pkgconfig()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/proton")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/proton/version.h" "#define PN_INSTALL_PREFIX \"${CURRENT_PACKAGES_DIR}\"" "")
file(INSTALL "${SOURCE_PATH}/LICENSE.txt"
DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}"
RENAME copyright
)

View File

@ -1,4 +0,0 @@
get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../" ABSOLUTE)
set(_IMPORT_PREFIX "${PACKAGE_PREFIX_DIR}")
include(${CMAKE_CURRENT_LIST_DIR}/Proton/ProtonConfig.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/ProtonCpp/ProtonCppConfig.cmake)

View File

@ -1,6 +1,7 @@
{
"name": "qpid-proton",
"version": "0.37.0",
"port-version": 1,
"description": "Qpid Proton is a high-performance, lightweight messaging library.",
"homepage": "https://github.com/apache/qpid-proton",
"license": "Apache-2.0",
@ -12,7 +13,7 @@
},
{
"name": "openssl",
"platform": "!windows & !uwp"
"platform": "!windows"
},
{
"name": "vcpkg-cmake",

View File

@ -5650,7 +5650,7 @@
},
"qpid-proton": {
"baseline": "0.37.0",
"port-version": 0
"port-version": 1
},
"qscintilla": {
"baseline": "2.12.0",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "543baa82530f5eb5ed9b3d6348a14b5e24ccda64",
"version": "0.37.0",
"port-version": 1
},
{
"git-tree": "720cc65a7b408878662ce7c749211fa7edaf25fd",
"version": "0.37.0",