early-access version 2853
This commit is contained in:
16
externals/vcpkg/ports/libxml2/disable-docs.patch
vendored
Executable file
16
externals/vcpkg/ports/libxml2/disable-docs.patch
vendored
Executable file
@@ -0,0 +1,16 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index f922d5ab..70466bc7 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -647,11 +647,6 @@ if(LIBXML2_WITH_PYTHON)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml2.py DESTINATION ${LIBXML2_PYTHON_INSTALL_DIR} COMPONENT runtime)
|
||||
endif()
|
||||
|
||||
-install(FILES libxml.3 DESTINATION ${CMAKE_INSTALL_MANDIR}/man3 COMPONENT documentation)
|
||||
-install(FILES doc/xmlcatalog.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT documentation)
|
||||
-install(FILES doc/xmllint.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT documentation)
|
||||
-install(DIRECTORY doc/ DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/libxml2 COMPONENT documentation PATTERN Makefile.* EXCLUDE)
|
||||
-
|
||||
configure_package_config_file(
|
||||
libxml2-config.cmake.cmake.in libxml2-config.cmake
|
||||
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2-${PROJECT_VERSION}
|
||||
12
externals/vcpkg/ports/libxml2/fix-uwp.patch
vendored
Executable file
12
externals/vcpkg/ports/libxml2/fix-uwp.patch
vendored
Executable file
@@ -0,0 +1,12 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index f922d5ab..6eb0a7fb 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -134,6 +134,7 @@ endif()
|
||||
|
||||
if(MSVC)
|
||||
configure_file(include/win32config.h config.h COPYONLY)
|
||||
+ add_compile_options(/wd4996)
|
||||
else()
|
||||
check_c_source_compiles("
|
||||
void __attribute__((destructor))
|
||||
108
externals/vcpkg/ports/libxml2/fix_cmakelist.patch
vendored
Executable file
108
externals/vcpkg/ports/libxml2/fix_cmakelist.patch
vendored
Executable file
@@ -0,0 +1,108 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index f922d5ab..685964b3 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -459,15 +459,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)
|
||||
@@ -477,7 +477,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(
|
||||
@@ -490,23 +490,9 @@ set_target_properties(
|
||||
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)
|
||||
@@ -654,30 +640,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 2653a7c5..2eb2f362 100644
|
||||
--- a/libxml-2.0.pc.in
|
||||
+++ b/libxml-2.0.pc.in
|
||||
@@ -8,6 +8,7 @@ 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.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@
|
||||
95
externals/vcpkg/ports/libxml2/portfile.cmake
vendored
Executable file
95
externals/vcpkg/ports/libxml2/portfile.cmake
vendored
Executable file
@@ -0,0 +1,95 @@
|
||||
vcpkg_from_gitlab(
|
||||
GITLAB_URL https://gitlab.gnome.org/
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO GNOME/libxml2
|
||||
REF 7846b0a677f8d3ce72486125fa281e92ac9970e8
|
||||
SHA512 3b960e410cf812a94938cd31c317f9a8d4b2d5b3e148efb108f6dad86ce8c9553c0fe3b32dd68d15e3d5ada9db07b39f9e0b13906edf6ed1bb1cec4f137bca71
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
disable-docs.patch
|
||||
fix_cmakelist.patch
|
||||
fix-uwp.patch
|
||||
)
|
||||
|
||||
if (VCPKG_TARGET_IS_UWP)
|
||||
message(WARNING "Feature network couldn't be enabled on UWP, disable http and ftp automatically.")
|
||||
set(ENABLE_NETWORK 0)
|
||||
else()
|
||||
set(ENABLE_NETWORK 1)
|
||||
endif()
|
||||
|
||||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
||||
FEATURES
|
||||
"tools" LIBXML2_WITH_PROGRAMS
|
||||
)
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
OPTIONS
|
||||
${FEATURE_OPTIONS}
|
||||
-DLIBXML2_WITH_TESTS=OFF
|
||||
-DLIBXML2_WITH_HTTP=${ENABLE_NETWORK}
|
||||
-DLIBXML2_WITH_FTP=${ENABLE_NETWORK}
|
||||
-DLIBXML2_WITH_HTML=ON
|
||||
-DLIBXML2_WITH_C14N=ON
|
||||
-DLIBXML2_WITH_CATALOG=ON
|
||||
-DLIBXML2_WITH_DEBUG=ON
|
||||
-DLIBXML2_WITH_DOCB=ON
|
||||
-DLIBXML2_WITH_ICONV=ON
|
||||
-DLIBXML2_WITH_ISO8859X=ON
|
||||
-DLIBXML2_WITH_ZLIB=ON
|
||||
-DLIBXML2_WITH_ICU=OFF # Culprit of linkage issues? Solving this is probably another PR
|
||||
-DLIBXML2_WITH_LZMA=ON
|
||||
-DLIBXML2_WITH_LEGACY=ON
|
||||
-DLIBXML2_WITH_MEM_DEBUG=OFF
|
||||
-DLIBXML2_WITH_MODULES=ON
|
||||
-DLIBXML2_WITH_OUTPUT=ON
|
||||
-DLIBXML2_WITH_PATTERN=ON
|
||||
-DLIBXML2_WITH_PUSH=ON
|
||||
-DLIBXML2_WITH_PYTHON=OFF
|
||||
-DLIBXML2_WITH_READER=ON
|
||||
-DLIBXML2_WITH_REGEXPS=ON
|
||||
-DLIBXML2_WITH_RUN_DEBUG=OFF
|
||||
-DLIBXML2_WITH_SAX1=ON
|
||||
-DLIBXML2_WITH_SCHEMAS=ON
|
||||
-DLIBXML2_WITH_SCHEMATRON=ON
|
||||
-DLIBXML2_WITH_THREADS=ON
|
||||
-DLIBXML2_WITH_THREAD_ALLOC=OFF
|
||||
-DLIBXML2_WITH_TREE=ON
|
||||
-DLIBXML2_WITH_VALID=ON
|
||||
-DLIBXML2_WITH_WRITER=ON
|
||||
-DLIBXML2_WITH_XINCLUDE=ON
|
||||
-DLIBXML2_WITH_XPATH=ON
|
||||
-DLIBXML2_WITH_XPTR=ON
|
||||
)
|
||||
|
||||
vcpkg_cmake_install()
|
||||
|
||||
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libxml2)
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY)
|
||||
|
||||
if("tools" IN_LIST FEATURES)
|
||||
vcpkg_copy_tools(TOOL_NAMES xmllint xmlcatalog AUTO_CLEAN)
|
||||
endif()
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
|
||||
endif()
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
|
||||
set(_file "${CURRENT_PACKAGES_DIR}/include/libxml2/libxml/xmlexports.h")
|
||||
file(READ "${_file}" _contents)
|
||||
string(REPLACE "#ifdef LIBXML_STATIC" "#undef LIBXML_STATIC\n#define LIBXML_STATIC\n#ifdef LIBXML_STATIC" _contents "${_contents}")
|
||||
file(WRITE "${_file}" "${_contents}")
|
||||
endif()
|
||||
|
||||
file(COPY "${CURRENT_PACKAGES_DIR}/include/libxml2/" DESTINATION "${CURRENT_PACKAGES_DIR}/include") # TODO: Fix usage in all dependent ports hardcoding the wrong include path.
|
||||
|
||||
#Cleanup
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/xml2Conf.sh" "${CURRENT_PACKAGES_DIR}/debug/lib/xml2Conf.sh")
|
||||
|
||||
file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
|
||||
file(INSTALL "${SOURCE_PATH}/Copyright" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
||||
4
externals/vcpkg/ports/libxml2/usage
vendored
Executable file
4
externals/vcpkg/ports/libxml2/usage
vendored
Executable file
@@ -0,0 +1,4 @@
|
||||
The package libxml2 is compatible with built-in CMake targets:
|
||||
|
||||
find_package(LibXml2 CONFIG REQUIRED)
|
||||
target_link_libraries(main PRIVATE LibXml2::LibXml2)
|
||||
49
externals/vcpkg/ports/libxml2/vcpkg-cmake-wrapper.cmake
vendored
Executable file
49
externals/vcpkg/ports/libxml2/vcpkg-cmake-wrapper.cmake
vendored
Executable file
@@ -0,0 +1,49 @@
|
||||
_find_package(${ARGS})
|
||||
if(LibXml2_FOUND)
|
||||
list(APPEND LIBXML2_INCLUDE_DIRS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include")
|
||||
list(APPEND LIBXML2_INCLUDE_DIR "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include") # This is wrong but downstream doesn't correctly use _DIR vs _DIRS variables
|
||||
if(TARGET LibXml2::LibXml2)
|
||||
target_include_directories(LibXml2::LibXml2 INTERFACE "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include")
|
||||
endif()
|
||||
endif()
|
||||
if(LibXml2_FOUND AND "@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static" AND NOT ${ARGV0}_CONFIG)
|
||||
find_package(LibLZMA)
|
||||
find_package(ZLIB)
|
||||
find_package(Iconv)
|
||||
include(SelectLibraryConfigurations)
|
||||
find_library(LIBXML2_LIBRARY_DEBUG NAMES xml2 libxml2 xml2s libxml2s xml2d libxml2d xml2sd libxml2sd NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_INSTALLED_DIR}/debug" NO_DEFAULT_PATH)
|
||||
find_library(LIBXML2_LIBRARY_RELEASE NAMES xml2 libxml2 xml2s libxml2s NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH)
|
||||
unset(LIBXML2_LIBRARIES)
|
||||
unset(LIBXML2_LIBRARY CACHE)
|
||||
select_library_configurations(LIBXML2)
|
||||
list(APPEND LIBXML2_LIBRARIES ${LIBLZMA_LIBRARIES} ${ZLIB_LIBRARIES})
|
||||
if(Iconv_LIBRARIES)
|
||||
list(APPEND LIBXML2_LIBRARIES ${Iconv_LIBRARIES})
|
||||
endif()
|
||||
if(TARGET LibXml2::LibXml2 AND LIBXML2_LIBRARY_RELEASE)
|
||||
set_target_properties(LibXml2::LibXml2 PROPERTIES IMPORTED_LOCATION_RELEASE "${LIBXML2_LIBRARY_RELEASE}")
|
||||
endif()
|
||||
if(TARGET LibXml2::LibXml2 AND LIBXML2_LIBRARY_DEBUG)
|
||||
set_target_properties(LibXml2::LibXml2 PROPERTIES IMPORTED_LOCATION_DEBUG "${LIBXML2_LIBRARY_DEBUG}")
|
||||
endif()
|
||||
cmake_policy(PUSH)
|
||||
cmake_policy(SET CMP0079 NEW)
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
list(APPEND LIBXML2_LIBRARIES m)
|
||||
if(TARGET LibXml2::LibXml2)
|
||||
set_property(TARGET LibXml2::LibXml2 APPEND PROPERTY INTERFACE_LINK_LIBRARIES "m")
|
||||
endif()
|
||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
list(APPEND LIBXML2_LIBRARIES ws2_32)
|
||||
if(TARGET LibXml2::LibXml2)
|
||||
set_property(TARGET LibXml2::LibXml2 APPEND PROPERTY INTERFACE_LINK_LIBRARIES "ws2_32")
|
||||
endif()
|
||||
endif()
|
||||
if(TARGET LibXml2::LibXml2)
|
||||
set_property(TARGET LibXml2::LibXml2 APPEND PROPERTY INTERFACE_LINK_LIBRARIES "LibLZMA::LibLZMA" "ZLIB::ZLIB")
|
||||
if(TARGET Iconv::Iconv)
|
||||
set_property(TARGET LibXml2::LibXml2 APPEND PROPERTY INTERFACE_LINK_LIBRARIES "Iconv::Iconv")
|
||||
endif()
|
||||
endif()
|
||||
cmake_policy(POP)
|
||||
endif()
|
||||
25
externals/vcpkg/ports/libxml2/vcpkg.json
vendored
Executable file
25
externals/vcpkg/ports/libxml2/vcpkg.json
vendored
Executable file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"name": "libxml2",
|
||||
"version": "2.9.14",
|
||||
"description": "Libxml2 is the XML C parser and toolkit developed for the Gnome project (but usable outside of the Gnome platform).",
|
||||
"homepage": "https://xmlsoft.org/",
|
||||
"license": "MIT",
|
||||
"dependencies": [
|
||||
"libiconv",
|
||||
"liblzma",
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"host": true
|
||||
},
|
||||
"zlib"
|
||||
],
|
||||
"features": {
|
||||
"tools": {
|
||||
"description": "Build tools"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user