180 lines
5.8 KiB
Diff
180 lines
5.8 KiB
Diff
From d90094c9e9a35559c6a256cb0c6c8be311d26603 Mon Sep 17 00:00:00 2001
|
|
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
|
Date: Wed, 18 Nov 2020 15:43:43 +0100
|
|
Subject: [PATCH 2/2] Use system tinyxml library if available
|
|
|
|
Fixes lintion packaging error:
|
|
E: libxrdxml3: embedded-library usr/lib/x86_64-linux-gnu/libXrdXml.so.3.0.0: tinyxml
|
|
---
|
|
cmake/FindTinyXml.cmake | 18 ++++++++++++
|
|
cmake/XRootDFindLibs.cmake | 2 ++
|
|
src/XrdXml.cmake | 34 +++++++++++++---------
|
|
src/XrdXml/XrdXmlRdrTiny.cc | 2 +-
|
|
src/XrdXml/{ => tinyxml}/tinystr.cpp | 0
|
|
src/XrdXml/{ => tinyxml}/tinystr.h | 0
|
|
src/XrdXml/{ => tinyxml}/tinyxml.cpp | 0
|
|
src/XrdXml/{ => tinyxml}/tinyxml.h | 0
|
|
src/XrdXml/{ => tinyxml}/tinyxmlerror.cpp | 0
|
|
src/XrdXml/{ => tinyxml}/tinyxmlparser.cpp | 0
|
|
10 files changed, 42 insertions(+), 14 deletions(-)
|
|
create mode 100644 cmake/FindTinyXml.cmake
|
|
rename src/XrdXml/{ => tinyxml}/tinystr.cpp (100%)
|
|
rename src/XrdXml/{ => tinyxml}/tinystr.h (100%)
|
|
rename src/XrdXml/{ => tinyxml}/tinyxml.cpp (100%)
|
|
rename src/XrdXml/{ => tinyxml}/tinyxml.h (100%)
|
|
rename src/XrdXml/{ => tinyxml}/tinyxmlerror.cpp (100%)
|
|
rename src/XrdXml/{ => tinyxml}/tinyxmlparser.cpp (100%)
|
|
|
|
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/cmake/XRootDFindLibs.cmake b/cmake/XRootDFindLibs.cmake
|
|
index 04692e9f8..bcea5fafe 100644
|
|
--- a/cmake/XRootDFindLibs.cmake
|
|
+++ b/cmake/XRootDFindLibs.cmake
|
|
@@ -19,6 +19,8 @@ if( ZLIB_FOUND )
|
|
add_definitions( -DHAVE_LIBZ )
|
|
endif()
|
|
|
|
+find_package( TinyXml )
|
|
+
|
|
find_package( LibXml2 )
|
|
if( LIBXML2_FOUND )
|
|
add_definitions( -DHAVE_XML2 )
|
|
diff --git a/src/XrdXml.cmake b/src/XrdXml.cmake
|
|
index ca7e67481..970509266 100644
|
|
--- a/src/XrdXml.cmake
|
|
+++ b/src/XrdXml.cmake
|
|
@@ -1,14 +1,23 @@
|
|
|
|
include( XRootDCommon )
|
|
|
|
+if ( TINYXML_FOUND )
|
|
+ set( TINYXML_FILES "" )
|
|
+ set( TINYXML_LIBRARIES ${TINYXML_LIBRARIES} )
|
|
+else()
|
|
+ set( TINYXML_FILES
|
|
+ XrdXml/tinyxml/tinystr.cpp XrdXml/tinyxml/tinystr.h
|
|
+ XrdXml/tinyxml/tinyxml.cpp XrdXml/tinyxml/tinyxml.h
|
|
+ XrdXml/tinyxml/tinyxmlerror.cpp
|
|
+ XrdXml/tinyxml/tinyxmlparser.cpp )
|
|
+ set( TINYXML_LIBRARIES "" )
|
|
+endif()
|
|
+
|
|
if ( LIBXML2_FOUND )
|
|
set( XRDXML2_READER_FILES
|
|
XrdXml/XrdXmlRdrXml2.cc
|
|
XrdXml/XrdXmlRdrXml2.hh )
|
|
set( XRDXML2_LIBRARIES ${LIBXML2_LIBRARIES} )
|
|
- if( CMAKE_VERSION VERSION_LESS "2.8" OR ${Solaris} STREQUAL "TRUE")
|
|
- INCLUDE_DIRECTORIES( ${LIBXML2_INCLUDE_DIR} )
|
|
- endif()
|
|
else()
|
|
set( XRDXML2_READER_FILES "" )
|
|
set( XRDXML2_LIBRARIES "" )
|
|
@@ -28,10 +37,7 @@ set( XRD_XML_PRELOAD_SOVERSION 2 )
|
|
add_library(
|
|
XrdXml
|
|
SHARED
|
|
- XrdXml/tinystr.cpp XrdXml/tinystr.h
|
|
- XrdXml/tinyxml.cpp XrdXml/tinyxml.h
|
|
- XrdXml/tinyxmlerror.cpp
|
|
- XrdXml/tinyxmlparser.cpp
|
|
+ ${TINYXML_FILES}
|
|
XrdXml/XrdXmlMetaLink.cc XrdXml/XrdXmlMetaLink.hh
|
|
XrdXml/XrdXmlRdrTiny.cc XrdXml/XrdXmlRdrTiny.hh
|
|
XrdXml/XrdXmlReader.cc XrdXml/XrdXmlReader.hh
|
|
@@ -40,24 +46,26 @@ add_library(
|
|
target_link_libraries(
|
|
XrdXml
|
|
XrdUtils
|
|
+ ${TINYXML_LIBRARIES}
|
|
${XRDXML2_LIBRARIES}
|
|
pthread )
|
|
-# INCLUDE_DIRECTORIES /usr/include/libxml2
|
|
|
|
set_target_properties(
|
|
XrdXml
|
|
PROPERTIES
|
|
- INCLUDE_DIRECTORIES ${CMAKE_SOURCE_DIR}/src/XrdXml/.
|
|
VERSION ${XRD_XML_VERSION}
|
|
SOVERSION ${XRD_XML_SOVERSION}
|
|
INTERFACE_LINK_LIBRARIES ""
|
|
LINK_INTERFACE_LIBRARIES "" )
|
|
|
|
+if ( TINYXML_FOUND )
|
|
+ target_include_directories( XrdXml PRIVATE ${TINYXML_INCLUDE_DIR} )
|
|
+else()
|
|
+ target_include_directories( XrdXml PRIVATE XrdXml/tinyxml )
|
|
+endif()
|
|
+
|
|
if ( LIBXML2_FOUND )
|
|
- set_target_properties(
|
|
- XrdXml
|
|
- PROPERTIES
|
|
- INCLUDE_DIRECTORIES ${LIBXML2_INCLUDE_DIR} )
|
|
+ target_include_directories( XrdXml PRIVATE ${LIBXML2_INCLUDE_DIR} )
|
|
endif()
|
|
|
|
#-------------------------------------------------------------------------------
|
|
diff --git a/src/XrdXml/XrdXmlRdrTiny.cc b/src/XrdXml/XrdXmlRdrTiny.cc
|
|
index 45196f02a..624654837 100644
|
|
--- a/src/XrdXml/XrdXmlRdrTiny.cc
|
|
+++ b/src/XrdXml/XrdXmlRdrTiny.cc
|
|
@@ -36,7 +36,7 @@
|
|
#include <iostream>
|
|
|
|
#include "XrdSys/XrdSysE2T.hh"
|
|
-#include "XrdXml/tinyxml.h"
|
|
+#include "tinyxml.h"
|
|
#include "XrdXml/XrdXmlRdrTiny.hh"
|
|
|
|
/******************************************************************************/
|
|
diff --git a/src/XrdXml/tinystr.cpp b/src/XrdXml/tinyxml/tinystr.cpp
|
|
similarity index 100%
|
|
rename from src/XrdXml/tinystr.cpp
|
|
rename to src/XrdXml/tinyxml/tinystr.cpp
|
|
diff --git a/src/XrdXml/tinystr.h b/src/XrdXml/tinyxml/tinystr.h
|
|
similarity index 100%
|
|
rename from src/XrdXml/tinystr.h
|
|
rename to src/XrdXml/tinyxml/tinystr.h
|
|
diff --git a/src/XrdXml/tinyxml.cpp b/src/XrdXml/tinyxml/tinyxml.cpp
|
|
similarity index 100%
|
|
rename from src/XrdXml/tinyxml.cpp
|
|
rename to src/XrdXml/tinyxml/tinyxml.cpp
|
|
diff --git a/src/XrdXml/tinyxml.h b/src/XrdXml/tinyxml/tinyxml.h
|
|
similarity index 100%
|
|
rename from src/XrdXml/tinyxml.h
|
|
rename to src/XrdXml/tinyxml/tinyxml.h
|
|
diff --git a/src/XrdXml/tinyxmlerror.cpp b/src/XrdXml/tinyxml/tinyxmlerror.cpp
|
|
similarity index 100%
|
|
rename from src/XrdXml/tinyxmlerror.cpp
|
|
rename to src/XrdXml/tinyxml/tinyxmlerror.cpp
|
|
diff --git a/src/XrdXml/tinyxmlparser.cpp b/src/XrdXml/tinyxml/tinyxmlparser.cpp
|
|
similarity index 100%
|
|
rename from src/XrdXml/tinyxmlparser.cpp
|
|
rename to src/XrdXml/tinyxml/tinyxmlparser.cpp
|
|
--
|
|
2.28.0
|
|
|