[libxml2] Configure pkgconfig, xml2-config, and xml2Conf.sh file
- From: Nick Wellnhofer <nwellnhof src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libxml2] Configure pkgconfig, xml2-config, and xml2Conf.sh file
- Date: Fri, 15 Jan 2021 17:39:25 +0000 (UTC)
commit 296ab61e1c8f5dd9155c85ffb1a0cd368a54ea8b
Author: Markus Rickert <rickert fortiss org>
Date: Thu Nov 19 22:06:36 2020 +0100
Configure pkgconfig, xml2-config, and xml2Conf.sh file
CMakeLists.txt | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
---
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 21a7871b..3f7e5c7c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -417,6 +417,7 @@ add_library(LibXml2 ${LIBXML2_HDRS} ${LIBXML2_SRCS})
if(NOT BUILD_SHARED_LIBS)
target_compile_definitions(LibXml2 INTERFACE LIBXML_STATIC)
+ set(XML_CFLAGS "-DLIBXML_STATIC")
endif()
if(LIBXML2_WITH_THREADS)
@@ -436,38 +437,53 @@ target_include_directories(
if(HAVE_DLOPEN)
target_link_libraries(LibXml2 PRIVATE dl)
+ set(MODULE_PLATFORM_LIBS "-ldl")
endif()
if(HAVE_SHLLOAD)
target_link_libraries(LibXml2 PRIVATE dld)
+ set(MODULE_PLATFORM_LIBS "-ldld")
endif()
if(UNIX)
target_link_libraries(LibXml2 PRIVATE m)
+ set(M_LIBS "-lm")
endif()
if(WIN32)
target_link_libraries(LibXml2 PRIVATE ws2_32)
+ set(WIN32_EXTRA_LIBADD "-lws2_32")
endif()
if(LIBXML2_WITH_ICONV)
target_link_libraries(LibXml2 PUBLIC Iconv::Iconv)
+ if(NOT Iconv_IS_BUILT_IN)
+ set(ICONV_LIBS "-liconv")
+ endif()
endif()
if(LIBXML2_WITH_ICU)
target_link_libraries(LibXml2 PRIVATE ICU::i18n)
+ if(WIN32)
+ set(ICU_LIBS "-licudt -licuin -licuuc")
+ else()
+ set(ICU_LIBS "-licudata -licui18n -licuuc")
+ endif()
endif()
if(LIBXML2_WITH_LZMA)
target_link_libraries(LibXml2 PRIVATE LibLZMA::LibLZMA)
+ set(LZMA_LIBS "-llzma")
endif()
if(LIBXML2_WITH_THREADS)
target_link_libraries(LibXml2 PRIVATE Threads::Threads)
+ set(THREAD_LIBS ${CMAKE_THREAD_LIBS_INIT})
endif()
if(LIBXML2_WITH_ZLIB)
target_link_libraries(LibXml2 PRIVATE ZLIB::ZLIB)
+ set(Z_LIBS "-lz")
endif()
set_target_properties(
@@ -685,6 +701,30 @@ if(LIBXML2_WITH_PYTHON)
configure_file(python/setup.py.in setup.py @ONLY)
endif()
+set(XML_INCLUDEDIR "-I\${includedir}/libxml2")
+set(XML_LIBDIR "-L\${libdir}")
+set(XML_LIBS "-lxml2")
+set(XML_PRIVATE_LIBS "${Z_LIBS} ${LZMA_LIBS} ${THREAD_LIBS} ${ICONV_LIBS} ${ICU_LIBS} ${M_LIBS}")
+
+file(RELATIVE_PATH PACKAGE_RELATIVE_PATH "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig" "${CMAKE_INSTALL_PREFIX}")
+string(REGEX REPLACE "/$" "" PACKAGE_RELATIVE_PATH "${PACKAGE_RELATIVE_PATH}")
+
+set(prefix "\${pcfiledir}/${PACKAGE_RELATIVE_PATH}")
+set(exec_prefix "\${prefix}")
+set(libdir "\${prefix}/${CMAKE_INSTALL_LIBDIR}")
+set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
+configure_file(libxml-2.0.pc.in libxml-2.0.pc @ONLY)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml-2.0.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
COMPONENT development)
+
+set(prefix "\$(cd \"\$(dirname \"\$0\")\"; pwd -P)/..")
+configure_file(xml2-config.in xml2-config @ONLY)
+install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/xml2-config DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT
development)
+
+set(XML_INCLUDEDIR "-I${CMAKE_INSTALL_FULL_INCLUDEDIR}/libxml2")
+set(XML_LIBDIR "-L${CMAKE_INSTALL_FULL_LIBDIR}")
+configure_file(xml2Conf.sh.in xml2Conf.sh @ONLY)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/xml2Conf.sh DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT
development)
+
set(CPACK_COMPONENT_DEVELOPMENT_DEPENDS runtime)
set(CPACK_COMPONENT_PROGRAMS_DEPENDS runtime)
set(CPACK_DEB_COMPONENT_INSTALL ON)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]