From d36f68e33664487c80dcd7d200af9f86b2cc76c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Sat, 1 May 2021 02:10:51 +0800 Subject: [libpq] Fix cmake wrapper on Windows, add usage (#17232) * [libpq] Fix cmake wrapper on Windows, add usage * update version record * Fix macro PostgreSQL_LIBRARIES * update version record * Update ports/libpq/vcpkg-cmake-wrapper.cmake Co-authored-by: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> * Update ports/libpq/vcpkg-cmake-wrapper.cmake Co-authored-by: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> * Update versions/l-/libpq.json * Update versions/baseline.json * Update versions/l-/libpq.json * Update ports/libpq/vcpkg.json * Update versions/l-/libpq.json * Update ports/libpq/vcpkg.json * Update versions/baseline.json * Update versions/l-/libpq.json * Update versions/l-/libpq.json Co-authored-by: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> --- ports/libpq/portfile.cmake | 5 +++-- ports/libpq/usage | 4 ++++ ports/libpq/vcpkg-cmake-wrapper.cmake | 15 +++++++++++---- ports/libpq/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/l-/libpq.json | 5 +++++ 6 files changed, 25 insertions(+), 8 deletions(-) create mode 100644 ports/libpq/usage diff --git a/ports/libpq/portfile.cmake b/ports/libpq/portfile.cmake index 681841bc3..35cfd9e68 100644 --- a/ports/libpq/portfile.cmake +++ b/ports/libpq/portfile.cmake @@ -326,5 +326,6 @@ else() endif() endif() -configure_file(${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake ${CURRENT_PACKAGES_DIR}/share/postgresql/vcpkg-cmake-wrapper.cmake @ONLY) -file(INSTALL ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/postgresql/vcpkg-cmake-wrapper.cmake" @ONLY) +file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${SOURCE_PATH}/COPYRIGHT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libpq/usage b/ports/libpq/usage new file mode 100644 index 000000000..8dfcd2754 --- /dev/null +++ b/ports/libpq/usage @@ -0,0 +1,4 @@ +The package libpq provides CMake integration: + + find_package(PostgreSQL REQUIRED) + target_link_libraries(main PRIVATE PostgreSQL::PostgreSQL) diff --git a/ports/libpq/vcpkg-cmake-wrapper.cmake b/ports/libpq/vcpkg-cmake-wrapper.cmake index 9d97859ec..4226cf674 100644 --- a/ports/libpq/vcpkg-cmake-wrapper.cmake +++ b/ports/libpq/vcpkg-cmake-wrapper.cmake @@ -15,27 +15,34 @@ if(PostgreSQL_FOUND AND @USE_DL@) endif() endif() endif() -if(PostgreSQL_FOUND AND TARGET PostgreSQL::PostgreSQL AND "@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") - foreach(LIB_ITEM pgport pgcommon) +if(PostgreSQL_FOUND AND "@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") + include(SelectLibraryConfigurations) + foreach(LIB_ITEM libpgport libpgcommon pgport pgcommon) find_library(PostgreSQL_${LIB_ITEM}_LIBRARY_RELEASE NAMES ${LIB_ITEM} PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH ) - if(PostgreSQL_${LIB_ITEM}_LIBRARY_RELEASE) + if(TARGET PostgreSQL::PostgreSQL AND PostgreSQL_${LIB_ITEM}_LIBRARY_RELEASE) set_property( TARGET PostgreSQL::PostgreSQL APPEND PROPERTY INTERFACE_LINK_LIBRARIES "\$<\$>:${PostgreSQL_${LIB_ITEM}_LIBRARY_RELEASE}>" ) endif() + find_library(PostgreSQL_${LIB_ITEM}_LIBRARY_DEBUG NAMES ${LIB_ITEM} PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH ) - if(PostgreSQL_${LIB_ITEM}_LIBRARY_DEBUG) + if(TARGET PostgreSQL::PostgreSQL AND PostgreSQL_${LIB_ITEM}_LIBRARY_DEBUG) set_property( TARGET PostgreSQL::PostgreSQL APPEND PROPERTY INTERFACE_LINK_LIBRARIES "\$<\$:${PostgreSQL_${LIB_ITEM}_LIBRARY_DEBUG}>" ) endif() + + if (PostgreSQL_${LIB_ITEM}_LIBRARY_RELEASE OR PostgreSQL_${LIB_ITEM}_LIBRARY_DEBUG) + select_library_configurations(PostgreSQL_${LIB_ITEM}) + list(APPEND PostgreSQL_LIBRARIES ${PostgreSQL_${LIB_ITEM}_LIBRARY}) + endif() endforeach() endif() diff --git a/ports/libpq/vcpkg.json b/ports/libpq/vcpkg.json index 69045c324..0b1e5f772 100644 --- a/ports/libpq/vcpkg.json +++ b/ports/libpq/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libpq", "version": "12.2", - "port-version": 15, + "port-version": 16, "description": "The official database access API of postgresql", "homepage": "https://www.postgresql.org/", "supports": "!uwp", diff --git a/versions/baseline.json b/versions/baseline.json index 62e449885..a51b875f7 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3394,7 +3394,7 @@ }, "libpq": { "baseline": "12.2", - "port-version": 15 + "port-version": 16 }, "libpqxx": { "baseline": "7.3.1", diff --git a/versions/l-/libpq.json b/versions/l-/libpq.json index 169c49c10..76ef61a9e 100644 --- a/versions/l-/libpq.json +++ b/versions/l-/libpq.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "7c75f4ea669ee37e510cb5d7ea0e39b0a7d3f6cb", + "version": "12.2", + "port-version": 16 + }, { "git-tree": "0108a2846402c326800b0da2ffc9d67daad9fbdb", "version": "12.2", -- cgit v1.2.3