diff --git a/ports/pugixml/CONTROL b/ports/pugixml/CONTROL new file mode 100644 index 0000000000..298d433b29 --- /dev/null +++ b/ports/pugixml/CONTROL @@ -0,0 +1,3 @@ +Source: pugixml +Version: 1.8.1 +Description: C++ XML processing library diff --git a/ports/pugixml/portfile.cmake b/ports/pugixml/portfile.cmake new file mode 100644 index 0000000000..4fcbec84ba --- /dev/null +++ b/ports/pugixml/portfile.cmake @@ -0,0 +1,28 @@ +include(vcpkg_common_functions) +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/pugixml-1.8) +vcpkg_download_distfile(ARCHIVE + URLS "https://github.com/zeux/pugixml/releases/download/v1.8.1/pugixml-1.8.1.zip" + FILENAME "pugixml-1.8.1.zip" + SHA512 683fe224a9bcac032d78cb44d03915a3766d2faa588f3a8486b5719f26eeba3e17d447edf70e1907f51f8649ffb4607b6badd1365e4c15cf24279bf577dc853e +) +vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES + ${CMAKE_CURRENT_LIST_DIR}/pugixmlapi.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DBUILD_DEFINES="PUGIXML_API=__declspec\(dllexport\)" +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/cmake) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(INSTALL ${SOURCE_PATH}/readme.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/pugixml RENAME copyright) \ No newline at end of file diff --git a/ports/pugixml/pugixmlapi.patch b/ports/pugixml/pugixmlapi.patch new file mode 100644 index 0000000000..177664dbe0 --- /dev/null +++ b/ports/pugixml/pugixmlapi.patch @@ -0,0 +1,13 @@ +diff --git a/src/pugixml.hpp b/src/pugixml.hpp +index 4d76bfa..75a4f8a 100644 +--- a/src/pugixml.hpp ++++ b/src/pugixml.hpp +@@ -50,7 +50,7 @@ + + // If no API is defined, assume default + #ifndef PUGIXML_API +-# define PUGIXML_API ++# define PUGIXML_API __declspec(dllimport) + #endif + + // If no API for classes is defined, assume default