From 78ac10485a2d92f3ddf91a5e41b7abeeacb4b4a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20St=C3=B6ggl?= Date: Wed, 15 Jul 2020 22:23:20 +0200 Subject: [PATCH] [pugixml] Fix pkgconfig file - Add missing vcpkg_fixup_pkgconfig(), which was detected in https://github.com/microsoft/vcpkg/pull/12151 - Fix debug POSTFIX in pugixml.pc file using pugixml-v1.10_fix_debug_pkgconfig.patch based on upstream: https://github.com/zeux/pugixml/pull/363 This results in the following contents of pugixml.pc: Release: Libs: -L${libdir} -lpugixml Debug: Libs: -L${libdir} -lpugixml_d --- ports/pugixml/CONTROL | 3 +- ports/pugixml/portfile.cmake | 6 ++-- .../pugixml-v1.10_fix_debug_pkgconfig.patch | 31 +++++++++++++++++++ 3 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 ports/pugixml/pugixml-v1.10_fix_debug_pkgconfig.patch diff --git a/ports/pugixml/CONTROL b/ports/pugixml/CONTROL index 154d179546af4f..2d4b2a42c9d27f 100644 --- a/ports/pugixml/CONTROL +++ b/ports/pugixml/CONTROL @@ -1,4 +1,5 @@ Source: pugixml -Version: 1.10-1 +Version: 1.10 +Port-Version: 2 Homepage: https://github.com/zeux/pugixml Description: C++ XML processing library diff --git a/ports/pugixml/portfile.cmake b/ports/pugixml/portfile.cmake index f037e674a27abd..a96d0adbe69227 100644 --- a/ports/pugixml/portfile.cmake +++ b/ports/pugixml/portfile.cmake @@ -1,11 +1,10 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zeux/pugixml REF v1.10 SHA512 0634053d4f757b9293997763bb2e51595197c192f3974e954975d6d6ff91e4a6cb7c194efa530e0eef1a2a93db16592c5630010b6482430dff5ffc6879e84b6a HEAD_REF master + PATCHES pugixml-v1.10_fix_debug_pkgconfig.patch # Upstream: https://github.com/zeux/pugixml/pull/363 ) vcpkg_configure_cmake( @@ -17,7 +16,8 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/pugixml) +vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(INSTALL ${SOURCE_PATH}/readme.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/pugixml RENAME copyright) +file(INSTALL ${SOURCE_PATH}/readme.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/pugixml/pugixml-v1.10_fix_debug_pkgconfig.patch b/ports/pugixml/pugixml-v1.10_fix_debug_pkgconfig.patch new file mode 100644 index 00000000000000..24d428d98a1c32 --- /dev/null +++ b/ports/pugixml/pugixml-v1.10_fix_debug_pkgconfig.patch @@ -0,0 +1,31 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f043962..b281cba 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -94,6 +94,16 @@ install(TARGETS ${LIBRARY} EXPORT pugixml-config + install(FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}${INSTALL_SUFFIX}) + install(EXPORT pugixml-config DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pugixml) + ++if (USE_POSTFIX) ++ if(CMAKE_BUILD_TYPE MATCHES RelWithDebInfo) ++ set(LIB_POSTFIX "_r") ++ elseif(CMAKE_BUILD_TYPE MATCHES MinSizeRel) ++ set(LIB_POSTFIX "_m") ++ elseif(CMAKE_BUILD_TYPE MATCHES Debug) ++ set(LIB_POSTFIX "_d") ++ endif() ++endif() ++ + configure_file(scripts/pugixml.pc.in ${PROJECT_BINARY_DIR}/pugixml.pc @ONLY) + install(FILES ${PROJECT_BINARY_DIR}/pugixml.pc DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig) + +diff --git a/scripts/pugixml.pc.in b/scripts/pugixml.pc.in +index f9c3fd4..7958774 100644 +--- a/scripts/pugixml.pc.in ++++ b/scripts/pugixml.pc.in +@@ -8,4 +8,4 @@ Description: Light-weight, simple and fast XML parser for C++ with XPath support + URL: https://pugixml.org/ + Version: @pugixml_VERSION@ + Cflags: -I${includedir} +-Libs: -L${libdir} -lpugixml ++Libs: -L${libdir} -lpugixml@LIB_POSTFIX@