49 lines
2.2 KiB
Diff
49 lines
2.2 KiB
Diff
|
From 580098d875b497e5d5aa36dfad10291668e7d392 Mon Sep 17 00:00:00 2001
|
||
|
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||
|
Date: Wed, 24 Apr 2019 22:22:29 +0200
|
||
|
Subject: [PATCH] FindXml2: use pkg-config to find libxml2 dependencies
|
||
|
|
||
|
On UNIX, when statically built, libxml2 can depends on other libraries
|
||
|
such as lzma. These dependencies are already retrieved through
|
||
|
pkg-config so append them to LIBXML2_LIBRARIES otherwise static build
|
||
|
will fail
|
||
|
|
||
|
Change-Id: I362064969488ec53042aa323eadb54fef026d8a5
|
||
|
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||
|
Reviewed-on: https://code.wireshark.org/review/32968
|
||
|
Petri-Dish: Guy Harris <guy@alum.mit.edu>
|
||
|
Tested-by: Petri Dish Buildbot
|
||
|
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
|
||
|
[Retrieved from:
|
||
|
https://github.com/wireshark/wireshark/commit/580098d875b497e5d5aa36dfad10291668e7d392]
|
||
|
---
|
||
|
cmake/modules/FindLibXml2.cmake | 15 +++++++++++----
|
||
|
1 file changed, 11 insertions(+), 4 deletions(-)
|
||
|
|
||
|
diff --git a/cmake/modules/FindLibXml2.cmake b/cmake/modules/FindLibXml2.cmake
|
||
|
index 99d70af57d..34121ef01b 100644
|
||
|
--- a/cmake/modules/FindLibXml2.cmake
|
||
|
+++ b/cmake/modules/FindLibXml2.cmake
|
||
|
@@ -106,10 +106,17 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibXml2
|
||
|
|
||
|
mark_as_advanced(LIBXML2_INCLUDE_DIR LIBXML2_LIBRARY LIBXML2_XMLLINT_EXECUTABLE)
|
||
|
|
||
|
-if(LibXml2_FOUND AND NOT TARGET LibXml2::LibXml2)
|
||
|
- add_library(LibXml2::LibXml2 UNKNOWN IMPORTED)
|
||
|
- set_target_properties(LibXml2::LibXml2 PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${LIBXML2_INCLUDE_DIRS}")
|
||
|
- set_property(TARGET LibXml2::LibXml2 APPEND PROPERTY IMPORTED_LOCATION "${LIBXML2_LIBRARY}")
|
||
|
+if(LibXml2_FOUND)
|
||
|
+ # Include transitive dependencies for static linking.
|
||
|
+ if(UNIX AND CMAKE_FIND_LIBRARY_SUFFIXES STREQUAL ".a")
|
||
|
+ list(APPEND LIBXML2_LIBRARIES ${PC_LIBXML_LIBRARIES})
|
||
|
+ endif()
|
||
|
+
|
||
|
+ if (NOT TARGET LibXml2::LibXml2)
|
||
|
+ add_library(LibXml2::LibXml2 UNKNOWN IMPORTED)
|
||
|
+ set_target_properties(LibXml2::LibXml2 PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${LIBXML2_INCLUDE_DIRS}")
|
||
|
+ set_property(TARGET LibXml2::LibXml2 APPEND PROPERTY IMPORTED_LOCATION "${LIBXML2_LIBRARY}")
|
||
|
+ endif()
|
||
|
endif()
|
||
|
|
||
|
AddWSWinDLLS(LibXml2 LIBXML2_HINTS "libxml2*" "lzma*")
|