aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen Rudge <owen@owenrudge.net>2020-06-18 23:30:42 +0100
committerGitHub <noreply@github.com>2020-06-18 15:30:42 -0700
commit3c5c7d0f382233877dd61a61380b5cf84897fe23 (patch)
treef7f5bd0538b4d789d4a4c981a0f96ba0df372f0a
parent05c7e2c7de8adf5da0a9230666852115edc39610 (diff)
downloadvcpkg-3c5c7d0f382233877dd61a61380b5cf84897fe23.tar.gz
vcpkg-3c5c7d0f382233877dd61a61380b5cf84897fe23.zip
[tinyxml2] Fix generation of pkg-config file (#11966)
-rw-r--r--ports/tinyxml2/CONTROL2
-rw-r--r--ports/tinyxml2/fix-debug-postfix.patch43
-rw-r--r--ports/tinyxml2/portfile.cmake2
3 files changed, 46 insertions, 1 deletions
diff --git a/ports/tinyxml2/CONTROL b/ports/tinyxml2/CONTROL
index f4b626c96..3be0a859c 100644
--- a/ports/tinyxml2/CONTROL
+++ b/ports/tinyxml2/CONTROL
@@ -1,4 +1,4 @@
Source: tinyxml2
-Version: 8.0.0
+Version: 8.0.0-1
Homepage: https://github.com/leethomason/tinyxml2
Description: A simple, small, efficient, C++ XML parser
diff --git a/ports/tinyxml2/fix-debug-postfix.patch b/ports/tinyxml2/fix-debug-postfix.patch
new file mode 100644
index 000000000..8021e0f63
--- /dev/null
+++ b/ports/tinyxml2/fix-debug-postfix.patch
@@ -0,0 +1,43 @@
+From 1e384d50313a08dd36a43df1925588741dc33301 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Wolfgang=20St=C3=B6ggl?= <c72578@yahoo.de>
+Date: Wed, 17 Jun 2020 06:17:06 +0200
+Subject: [PATCH] Fix debug postfix in pkgconfig file
+
+CMakeLists.txt uses set(CMAKE_DEBUG_POSTFIX "d") to distinguish
+between debug and release lib. Use this postfix also in the
+generated tinyxml2.pc file in case of a CMake Debug build.
+This results in the following contents of tinyxml2.pc
+- Release:
+ Libs: -L${libdir} -ltinyxml2
+- Debug:
+ Libs: -L${libdir} -ltinyxml2d
+---
+ CMakeLists.txt | 3 +++
+ tinyxml2.pc.in | 2 +-
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9f9ab07..7085276 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -106,6 +106,9 @@ endif()
+
+ install(FILES tinyxml2.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT tinyxml2_headers)
+
++if(CMAKE_BUILD_TYPE MATCHES Debug)
++ set(LIB_POSTFIX ${CMAKE_DEBUG_POSTFIX})
++endif()
+ configure_file(tinyxml2.pc.in tinyxml2.pc @ONLY)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/tinyxml2.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig COMPONENT tinyxml2_config)
+
+diff --git a/tinyxml2.pc.in b/tinyxml2.pc.in
+index b040b0e..b100f60 100644
+--- a/tinyxml2.pc.in
++++ b/tinyxml2.pc.in
+@@ -6,5 +6,5 @@ includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
+ Name: TinyXML2
+ Description: simple, small, C++ XML parser
+ Version: @GENERIC_LIB_VERSION@
+-Libs: -L${libdir} -ltinyxml2
++Libs: -L${libdir} -ltinyxml2@LIB_POSTFIX@
+ Cflags: -I${includedir}
diff --git a/ports/tinyxml2/portfile.cmake b/ports/tinyxml2/portfile.cmake
index 03678eafa..d4fb1c3f9 100644
--- a/ports/tinyxml2/portfile.cmake
+++ b/ports/tinyxml2/portfile.cmake
@@ -6,6 +6,7 @@ vcpkg_from_github(
HEAD_REF master
PATCHES
fix-symbol-exports.patch
+ fix-debug-postfix.patch
)
vcpkg_configure_cmake(
@@ -16,6 +17,7 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/tinyxml2)
+vcpkg_fixup_pkgconfig()
vcpkg_copy_pdbs()