vcpkg/ports/libxml2/fix_cmakelist.patch
Alexander Neumann e43557e665
[libxml2] Update to 2.9.12 and use upstream CMakeLists.txt (#17945)
* vcpkg_fixup_pkgconfig for allgero5

* version stuff

* Update port

* version stuff

* add missing patch

* version stuff

* deactivate ICU linkage

* add missing 2

* fix include issue in dependend ports.

* fix include dirs in wrapper

* always install wrapper for corrections

* target also needs fixing.

* fix install of wrapper

* version stuff

* libxml define LIBXML_STATIC in the header in static builds

* libxslt build only one type of library to avoid link issues

* version stuff

* add cmake policy

* version stuff

* remove accidental cmake_minimum_required(VERSION)

* version stuff

* version stuff

* add feature tools to build tools

* version stuff

* fix version stuff

* add ws2_32 to the target which was missing.

* version stuff

* add liblzma and zlib to the target

* no need to adjust in config mode

* version stuff

* apply some of the CR suggestions

* version update

* remove icu dependency.

* version stuff

* setting uwp builds of libxml2 to fail. (icu supports:!uwp)

* add !uwp into supports due to getenv call

* version stuff

* baseline stuff

* Restore old version record for libxml2.

Co-authored-by: Robert Schumacher <ras0219@outlook.com>
2021-07-15 17:19:56 -07:00

120 lines
3.3 KiB
Diff

diff --git a/CMakeLists.txt b/CMakeLists.txt
index a437717ba..0a11039d1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.15)
-project(libxml2 VERSION 2.9.10 LANGUAGES C)
+project(libxml2 VERSION 2.9.12 LANGUAGES C)
include(CheckCSourceCompiles)
include(CheckFunctionExists)
@@ -465,15 +465,15 @@ endif()
if(LIBXML2_WITH_ICU)
target_link_libraries(LibXml2 PRIVATE ICU::data ICU::i18n ICU::uc)
if(WIN32)
- set(ICU_LIBS "-licudt -licuin -licuuc")
+ set(ICU_LIBS "icu-i18n")
else()
- set(ICU_LIBS "-licudata -licui18n -licuuc")
+ set(ICU_LIBS "icu-i18n")
endif()
endif()
if(LIBXML2_WITH_LZMA)
target_link_libraries(LibXml2 PRIVATE LibLZMA::LibLZMA)
- set(LZMA_LIBS "-llzma")
+ set(LZMA_LIBS "liblzma")
endif()
if(LIBXML2_WITH_THREADS)
@@ -483,7 +483,7 @@ endif()
if(LIBXML2_WITH_ZLIB)
target_link_libraries(LibXml2 PRIVATE ZLIB::ZLIB)
- set(Z_LIBS "-lz")
+ set(Z_LIBS "zlib")
endif()
set_target_properties(
@@ -495,24 +495,9 @@ set_target_properties(
PREFIX lib
VERSION ${PROJECT_VERSION}
)
-
+set(XML_LIB_NAME xml2)
if(MSVC)
- if(BUILD_SHARED_LIBS)
- set_target_properties(
- LibXml2
- PROPERTIES
- DEBUG_POSTFIX d
- )
- else()
- set_target_properties(
- LibXml2
- PROPERTIES
- DEBUG_POSTFIX sd
- MINSIZEREL_POSTFIX s
- RELEASE_POSTFIX s
- RELWITHDEBINFO_POSTFIX s
- )
- endif()
+ set(XML_LIB_NAME libxml2)
endif()
install(FILES ${LIBXML2_HDRS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libxml2/libxml COMPONENT development)
@@ -659,30 +644,30 @@ install(DIRECTORY doc/ DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/libxml2 COMPONEN
configure_package_config_file(
libxml2-config.cmake.cmake.in libxml2-config.cmake
- INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2-${PROJECT_VERSION}
+ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2
)
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml2-config.cmake
- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2-${PROJECT_VERSION}
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2
COMPONENT development
)
write_basic_package_version_file(
${CMAKE_CURRENT_BINARY_DIR}/libxml2-config-version.cmake
VERSION ${PROJECT_VERSION}
- COMPATIBILITY ExactVersion
+ COMPATIBILITY SameMinorVersion
)
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml2-config-version.cmake
- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2-${PROJECT_VERSION}
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2
COMPONENT development
)
install(
EXPORT LibXml2
- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2-${PROJECT_VERSION}
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2
NAMESPACE LibXml2::
FILE libxml2-export.cmake
COMPONENT development
diff --git a/libxml-2.0.pc.in b/libxml-2.0.pc.in
index 2653a7c56..d1bff5bcc 100644
--- a/libxml-2.0.pc.in
+++ b/libxml-2.0.pc.in
@@ -7,7 +7,8 @@ modules=@WITH_MODULES@
Name: libXML
Version: @VERSION@
Description: libXML library version2.
-Requires:
-Libs: -L${libdir} -lxml2
-Libs.private: @ICU_LIBS@ @THREAD_LIBS@ @Z_LIBS@ @LZMA_LIBS@ @ICONV_LIBS@ @M_LIBS@ @WIN32_EXTRA_LIBADD@ @LIBS@
+Requires:
+Requires.private: @ICU_LIBS@ @Z_LIBS@ @LZMA_LIBS@
+Libs: -L${libdir} -l@XML_LIB_NAME@
+Libs.private: @THREAD_LIBS@ @ICONV_LIBS@ @M_LIBS@ @WIN32_EXTRA_LIBADD@ @LIBS@
Cflags: @XML_INCLUDEDIR@ @XML_CFLAGS@