xrootd/0001-Unbundle-tinyxml.patch
2026-04-21 18:03:25 +02:00

62 lines
1.7 KiB
Diff

From bd81e2e922bd44c755ad77cf29ca45570cc934ec Mon Sep 17 00:00:00 2001
From: Mattias Ellert <mattias.ellert@physics.uu.se>
Date: Tue, 21 Apr 2026 00:38:07 +0200
Subject: [PATCH] Unbundle tinyxml
---
cmake/FindTinyXml.cmake | 18 ++++++++++++++++++
src/XrdXml/tinyxml/CMakeLists.txt | 12 ++++++++++++
2 files changed, 30 insertions(+)
create mode 100644 cmake/FindTinyXml.cmake
diff --git a/cmake/FindTinyXml.cmake b/cmake/FindTinyXml.cmake
new file mode 100644
index 000000000..75c752707
--- /dev/null
+++ b/cmake/FindTinyXml.cmake
@@ -0,0 +1,18 @@
+FIND_PATH(TINYXML_INCLUDE_DIR tinyxml.h
+ HINTS
+ ${TINYXML_DIR}
+ $ENV{TINYXML_DIR}
+ /usr
+ PATH_SUFFIXES include
+)
+
+FIND_LIBRARY(TINYXML_LIBRARIES tinyxml
+ HINTS
+ ${TINYXML_DIR}
+ $ENV{TINYXML_DIR}
+ /usr
+ PATH_SUFFIXES lib
+)
+
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(TinyXml DEFAULT_MSG TINYXML_LIBRARIES TINYXML_INCLUDE_DIR)
diff --git a/src/XrdXml/tinyxml/CMakeLists.txt b/src/XrdXml/tinyxml/CMakeLists.txt
index db7d4924e..f87ed8f46 100644
--- a/src/XrdXml/tinyxml/CMakeLists.txt
+++ b/src/XrdXml/tinyxml/CMakeLists.txt
@@ -1,3 +1,13 @@
+find_package(TinyXml)
+
+if(TINYXML_FOUND)
+
+add_library(XrdTinyXml INTERFACE IMPORTED GLOBAL)
+set_property(TARGET XrdTinyXml PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${TINYXML_INCLUDE_DIR}")
+set_property(TARGET XrdTinyXml PROPERTY INTERFACE_LINK_LIBRARIES "${TINYXML_LIBRARIES}")
+
+else()
+
add_library(XrdTinyXml OBJECT
tinystr.cpp tinystr.h
tinyxml.cpp tinyxml.h
@@ -13,3 +23,5 @@ set_target_properties(XrdTinyXml
target_include_directories(XrdTinyXml
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
)
+
+endif()
--
2.53.0