diff --git a/ports/xerces-c/CONTROL b/ports/xerces-c/CONTROL index 064c61a5042365..fdd57476249afb 100644 --- a/ports/xerces-c/CONTROL +++ b/ports/xerces-c/CONTROL @@ -1,12 +1,12 @@ -Source: xerces-c -Version: 3.2.3 -Homepage: https://github.com/apache/xerces-c -Description: Xerces-C++ is a XML parser, for parsing, generating, manipulating, and validating XML documents using the DOM, SAX, and SAX2 APIs. - -Feature: icu -Description: ICU support -Build-Depends: icu - -Feature: xmlch_wchar -Description: XMLCh type uses wchar_t - +Source: xerces-c +Version: 3.2.3-1 +Homepage: https://github.com/apache/xerces-c +Description: Xerces-C++ is a XML parser, for parsing, generating, manipulating, and validating XML documents using the DOM, SAX, and SAX2 APIs. + +Feature: icu +Description: ICU support +Build-Depends: icu + +Feature: xmlch-wchar +Description: XMLCh type uses wchar_t + diff --git a/ports/xerces-c/portfile.cmake b/ports/xerces-c/portfile.cmake index 57414f7b503ede..603cd3a5524b39 100644 --- a/ports/xerces-c/portfile.cmake +++ b/ports/xerces-c/portfile.cmake @@ -1,66 +1,66 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO apache/xerces-c - REF v3.2.3 - SHA512 aaafe2de4ea156d94e71e3631c79bd66660badf17bf2a19587a0ca34011f70bd1584a0beef909409a3ff05eecea9d37ffee6dbb267625f59217fd86705d2cd28 - HEAD_REF master - PATCHES - disable-tests.patch - remove-dll-export-macro.patch -) - -set(DISABLE_ICU ON) -if("icu" IN_LIST FEATURES) - set(DISABLE_ICU OFF) -endif() -if ("xmlch_wchar" IN_LIST FEATURES) - set(XMLCHTYPE -Dxmlch-type=wchar_t) -endif() - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DDISABLE_TESTS=ON - -DDISABLE_DOC=ON - -DDISABLE_SAMPLES=ON - -DCMAKE_DISABLE_FIND_PACKAGE_ICU=${DISABLE_ICU} - -DCMAKE_DISABLE_FIND_PACKAGE_CURL=ON - ${XMLCHTYPE} -) - -vcpkg_install_cmake() - -vcpkg_copy_pdbs() - -if(EXISTS ${CURRENT_PACKAGES_DIR}/cmake) - vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/xercesc) -else() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/XercesC TARGET_PATH share/xercesc) -endif() - -file(READ ${CURRENT_PACKAGES_DIR}/share/xercesc/XercesCConfigInternal.cmake _contents) -string(REPLACE - "get_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)\nget_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)\nget_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)" - "get_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)\nget_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)" - _contents - "${_contents}" -) -file(WRITE ${CURRENT_PACKAGES_DIR}/share/xercesc/XercesCConfigInternal.cmake "${_contents}") - -file(READ ${CURRENT_PACKAGES_DIR}/share/xercesc/XercesCConfig.cmake _contents) -file(WRITE ${CURRENT_PACKAGES_DIR}/share/xercesc/XercesCConfig.cmake "include(CMakeFindDependencyMacro)\nfind_dependency(Threads)\n${_contents}") - -configure_file( - ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake - ${CURRENT_PACKAGES_DIR}/share/xercesc - @ONLY -) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO apache/xerces-c + REF v3.2.3 + SHA512 aaafe2de4ea156d94e71e3631c79bd66660badf17bf2a19587a0ca34011f70bd1584a0beef909409a3ff05eecea9d37ffee6dbb267625f59217fd86705d2cd28 + HEAD_REF master + PATCHES + disable-tests.patch + remove-dll-export-macro.patch +) -file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/share" -) - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +set(DISABLE_ICU ON) +if("icu" IN_LIST FEATURES) + set(DISABLE_ICU OFF) +endif() +if ("xmlch-wchar" IN_LIST FEATURES) + set(XMLCHTYPE -Dxmlch-type=wchar_t) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DDISABLE_TESTS=ON + -DDISABLE_DOC=ON + -DDISABLE_SAMPLES=ON + -DCMAKE_DISABLE_FIND_PACKAGE_ICU=${DISABLE_ICU} + -DCMAKE_DISABLE_FIND_PACKAGE_CURL=ON + ${XMLCHTYPE} +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +if(EXISTS ${CURRENT_PACKAGES_DIR}/cmake) + vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/xercesc) +else() + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/XercesC TARGET_PATH share/xercesc) +endif() + +file(READ ${CURRENT_PACKAGES_DIR}/share/xercesc/XercesCConfigInternal.cmake _contents) +string(REPLACE + "get_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)\nget_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)\nget_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)" + "get_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)\nget_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)" + _contents + "${_contents}" +) +file(WRITE ${CURRENT_PACKAGES_DIR}/share/xercesc/XercesCConfigInternal.cmake "${_contents}") + +file(READ ${CURRENT_PACKAGES_DIR}/share/xercesc/XercesCConfig.cmake _contents) +file(WRITE ${CURRENT_PACKAGES_DIR}/share/xercesc/XercesCConfig.cmake "include(CMakeFindDependencyMacro)\nfind_dependency(Threads)\n${_contents}") + +configure_file( + ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake + ${CURRENT_PACKAGES_DIR}/share/xercesc + @ONLY +) + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/xerces-c/remove-dll-export-macro.patch b/ports/xerces-c/remove-dll-export-macro.patch index f6f0e69757dc1e..d2b69298a16c4c 100644 --- a/ports/xerces-c/remove-dll-export-macro.patch +++ b/ports/xerces-c/remove-dll-export-macro.patch @@ -1,27 +1,27 @@ -diff --git a/src/xercesc/util/XercesDefs.hpp b/src/xercesc/util/XercesDefs.hpp -index 8071260..cd6bd68 100644 ---- a/src/xercesc/util/XercesDefs.hpp -+++ b/src/xercesc/util/XercesDefs.hpp -@@ -133,7 +133,7 @@ typedef XMLUInt32 UCS4Ch; - // The DLL_EXPORT flag should be defined on the command line during the build of a DLL - // configure conspires to make this happen. - --#if defined(DLL_EXPORT) -+#if defined(XERCES_DLL_EXPORT) - #if defined(XERCES_BUILDING_LIBRARY) - #define XMLUTIL_EXPORT XERCES_PLATFORM_EXPORT - #define XMLPARSER_EXPORT XERCES_PLATFORM_EXPORT -diff --git a/src/xercesc/util/Xerces_autoconf_config.hpp.cmake.in b/src/xercesc/util/Xerces_autoconf_config.hpp.cmake.in -index e849e08..69fe3bf 100644 ---- a/src/xercesc/util/Xerces_autoconf_config.hpp.cmake.in -+++ b/src/xercesc/util/Xerces_autoconf_config.hpp.cmake.in -@@ -85,9 +85,6 @@ - #define XERCES_PLATFORM_EXPORT @XERCES_PLATFORM_EXPORT@ - #define XERCES_PLATFORM_IMPORT @XERCES_PLATFORM_IMPORT@ - #define XERCES_TEMPLATE_EXTERN @XERCES_TEMPLATE_EXTERN@ --#ifdef XERCES_DLL_EXPORT --# define DLL_EXPORT --#endif - - // --------------------------------------------------------------------------- - // Include standard headers, if available, that we may rely on below. +diff --git a/src/xercesc/util/XercesDefs.hpp b/src/xercesc/util/XercesDefs.hpp +index 8071260..cd6bd68 100644 +--- a/src/xercesc/util/XercesDefs.hpp ++++ b/src/xercesc/util/XercesDefs.hpp +@@ -133,7 +133,7 @@ typedef XMLUInt32 UCS4Ch; + // The DLL_EXPORT flag should be defined on the command line during the build of a DLL + // configure conspires to make this happen. + +-#if defined(DLL_EXPORT) ++#if defined(XERCES_DLL_EXPORT) + #if defined(XERCES_BUILDING_LIBRARY) + #define XMLUTIL_EXPORT XERCES_PLATFORM_EXPORT + #define XMLPARSER_EXPORT XERCES_PLATFORM_EXPORT +diff --git a/src/xercesc/util/Xerces_autoconf_config.hpp.cmake.in b/src/xercesc/util/Xerces_autoconf_config.hpp.cmake.in +index e849e08..69fe3bf 100644 +--- a/src/xercesc/util/Xerces_autoconf_config.hpp.cmake.in ++++ b/src/xercesc/util/Xerces_autoconf_config.hpp.cmake.in +@@ -85,9 +85,6 @@ + #define XERCES_PLATFORM_EXPORT @XERCES_PLATFORM_EXPORT@ + #define XERCES_PLATFORM_IMPORT @XERCES_PLATFORM_IMPORT@ + #define XERCES_TEMPLATE_EXTERN @XERCES_TEMPLATE_EXTERN@ +-#ifdef XERCES_DLL_EXPORT +-# define DLL_EXPORT +-#endif + + // --------------------------------------------------------------------------- + // Include standard headers, if available, that we may rely on below.