diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/xerces-c/dependencies.patch | |
Diffstat (limited to 'vcpkg/ports/xerces-c/dependencies.patch')
| -rw-r--r-- | vcpkg/ports/xerces-c/dependencies.patch | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/vcpkg/ports/xerces-c/dependencies.patch b/vcpkg/ports/xerces-c/dependencies.patch new file mode 100644 index 0000000..84f80c0 --- /dev/null +++ b/vcpkg/ports/xerces-c/dependencies.patch @@ -0,0 +1,77 @@ +diff --git a/cmake/XercesNetAccessorSelection.cmake b/cmake/XercesNetAccessorSelection.cmake +index 7a63f1f..22ea65b 100644 +--- a/cmake/XercesNetAccessorSelection.cmake ++++ b/cmake/XercesNetAccessorSelection.cmake +@@ -23,7 +23,7 @@ option(network "Network support" ON) + + if(network) + find_library(SOCKET_LIBRARY socket) +- find_library(NSL_LIBRARY nsl) ++ set(NSL_LIBRARY "" CACHE INTERNAL "Not used") + + # netaccessors in order of preference + +diff --git a/cmake/XercesTranscoderSelection.cmake b/cmake/XercesTranscoderSelection.cmake +index 4ff5b16..48e274c 100644 +--- a/cmake/XercesTranscoderSelection.cmake ++++ b/cmake/XercesTranscoderSelection.cmake +@@ -25,6 +25,7 @@ + + if(ICU_FOUND) + list(APPEND transcoders icu) ++ set(TRANSCODER_REQUIRES "icu-uc") + endif() + + # MacOS +@@ -41,6 +42,20 @@ endif() + + # GNU iconv + ++if(NOT transcoder AND NOT transcoders AND NOT WIN32) ++ find_package(Iconv) ++ set(FIND_DEPENDENCY_ICONV "${Iconv_FOUND}") ++ if(Iconv_FOUND AND NOT Iconv_IS_BUILT_IN) ++ list(APPEND libxerces_c_DEPS Iconv::Iconv) ++ set(TRANSCODER_LIBS "-liconv -lcharset") ++ list(APPEND CMAKE_REQUIRED_LIBRARIES Iconv::Iconv) ++ include(CheckSymbolExists) ++ check_symbol_exists(iconv_open "iconv.h" HAVE_ICONV_OPEN) ++ check_symbol_exists(iconv_close "iconv.h" HAVE_ICONV_CLOSE) ++ check_symbol_exists(iconv "iconv.h" HAVE_ICONV) ++ endif() ++endif() ++ + check_include_file_cxx(iconv.h HAVE_ICONV_H) + check_include_file_cxx(wchar.h HAVE_WCHAR_H) + check_include_file_cxx(string.h HAVE_STRING_H) +diff --git a/src/XercesCConfig.cmake.in b/src/XercesCConfig.cmake.in +index aa8fc2e..754c425 100644 +--- a/src/XercesCConfig.cmake.in ++++ b/src/XercesCConfig.cmake.in +@@ -1,5 +1,14 @@ + @PACKAGE_INIT@ + ++include(CMakeFindDependencyMacro) ++find_dependency(Threads) ++if("@CMAKE_REQUIRE_FIND_PACKAGE_ICU@") ++ find_dependency(ICU COMPONENTS uc data) ++endif() ++if("@FIND_DEPENDENCY_ICONV@") ++ find_dependency(Iconv) ++endif() ++ + include(${CMAKE_CURRENT_LIST_DIR}/XercesCConfigInternal.cmake) + + add_library(XercesC::XercesC INTERFACE IMPORTED) +diff --git a/xerces-c.pc.in b/xerces-c.pc.in +index 16b18c7..077296b 100644 +--- a/xerces-c.pc.in ++++ b/xerces-c.pc.in +@@ -7,5 +7,6 @@ Name: Xerces-C++ + Description: Validating XML parser library for C++ + Version: @VERSION@ + Libs: -L${libdir} -lxerces-c +-Libs.private: @CURL_LIBS@ ++Libs.private: @CURL_LIBS@ @TRANSCODER_LIBS@ ++Requires.private: @TRANSCODER_REQUIRES@ + Cflags: -I${includedir} |