aboutsummaryrefslogtreecommitdiff
path: root/ports/libxmlpp
diff options
context:
space:
mode:
Diffstat (limited to 'ports/libxmlpp')
-rw-r--r--ports/libxmlpp/CMakeLists.txt95
-rw-r--r--ports/libxmlpp/CONTROL5
-rw-r--r--ports/libxmlpp/fixAutoPtrExpired.patch114
-rw-r--r--ports/libxmlpp/portfile.cmake34
-rw-r--r--ports/libxmlpp/vcpkg.json10
5 files changed, 26 insertions, 232 deletions
diff --git a/ports/libxmlpp/CMakeLists.txt b/ports/libxmlpp/CMakeLists.txt
deleted file mode 100644
index 2a36ed7ba..000000000
--- a/ports/libxmlpp/CMakeLists.txt
+++ /dev/null
@@ -1,95 +0,0 @@
-cmake_minimum_required(VERSION 3.9)
-project(libxmlpp)
-
-set(CMAKE_CXX_STANDARD 17)
-
-find_path(GLIBMM_INCLUDE_DIR NAMES glibmm.h)
-find_library(GLIBMM_LIBRARY NAMES glibmm glibmm-2.0)
-find_library(GIOMM_LIBRARY NAMES giomm)
-find_library(GLIB_LIBRARY NAMES glib glib-2.0)
-find_library(GIO_LIBRARY NAMES gio gio-2.0)
-find_library(GMODULE_LIBRARY NAMES gmodule gmodule-2.0)
-find_library(GOBJECT_LIBRARY NAMES gobject gobject-2.0)
-find_library(SIGCPP_LIBRARY NAMES sigc sigc-2.0)
-find_library(FFI_LIBRARY NAMES ffi libffi)
-find_library(PCRE_LIBRARY NAMES pcre libpcre)
-find_package(LibXml2 REQUIRED)
-find_package(LibLZMA REQUIRED)
-find_package(ZLIB REQUIRED)
-
-if(APPLE)
- find_library(LIBINTL_LIBRARY NAMES intl)
-endif()
-
-find_package(Iconv REQUIRED)
-link_libraries(${LIBINTL_LIBRARY} Iconv::Iconv)
-
-if(APPLE)
- find_library(COREFOUNDATION_LIBRARY CoreFoundation)
- find_library(CORESERVICES_LIBRARY CoreServices)
- find_library(FOUNDATION_LIBRARY Foundation)
- link_libraries(${COREFOUNDATION_LIBRARY} ${CORESERVICES_LIBRARY} ${FOUNDATION_LIBRARY})
-endif()
-
-link_libraries(
- ${GIOMM_LIBRARY}
- ${GLIBMM_LIBRARY}
- ${GMODULE_LIBRARY}
- ${GOBJECT_LIBRARY}
- ${GIO_LIBRARY}
- ${GLIB_LIBRARY}
- ${SIGCPP_LIBRARY}
- ${FFI_LIBRARY}
- ${LIBXML2_LIBRARIES}
- ${PCRE_LIBRARY}
- ${LIBLZMA_LIBRARIES}
- ZLIB::ZLIB
-)
-include_directories(${GLIBMM_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIRS} ${LIBLZMA_INCLUDE_DIRS})
-include_directories(. ${CMAKE_BINARY_DIR}/config)
-if(NOT WIN32)
- set(THREADS_PREFER_PTHREAD_FLAG ON)
- find_package(Threads REQUIRED)
- link_libraries(Threads::Threads ${CMAKE_DL_LIBS})
-endif()
-
-# config file
-if(WIN32)
- configure_file(MSVC_Net2010/libxml++/libxml++config.h ${CMAKE_BINARY_DIR}/config/libxml++config.h COPYONLY)
-else()
- set(ENV{GLIBMM_CFLAGS} -I${GLIBMM_INCLUDE_DIR})
- set(ENV{GLIBMM_LIBS} "${GLIBMM_LIBRARY}")
- set(ENV{GIOMM_CFLAGS} -I${GLIBMM_INCLUDE_DIR})
- set(ENV{GIOMM_LIBS} "${GIOMM_LIBRARY}")
- set(ENV{PKG_CONFIG} "echo")
-
- file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/config)
- execute_process(
- COMMAND "${CMAKE_SOURCE_DIR}/configure"
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/config
- RESULT_VARIABLE res
- )
- if(NOT res EQUAL 0)
- message(FATAL_ERROR "Configure failed.")
- endif()
-endif()
-
-file(GLOB_RECURSE SOURCES libxml++/*.cc)
-add_library(xml++ ${SOURCES})
-target_compile_definitions(xml++ PRIVATE -DLIBXMLPP_BUILD)
-
-if(NOT DISABLE_INSTALL_HEADERS)
- install(FILES ${CMAKE_BINARY_DIR}/config/libxml++config.h DESTINATION include)
- install(DIRECTORY libxml++ DESTINATION include FILES_MATCHING PATTERN *.h)
-endif()
-install(
- TARGETS xml++
- RUNTIME DESTINATION bin
- ARCHIVE DESTINATION lib
- LIBRARY DESTINATION lib
-)
-
-if(NOT DISABLE_EXAMPLES)
- add_executable(dom_build examples/dom_build/main.cc)
- target_link_libraries(dom_build xml++)
-endif()
diff --git a/ports/libxmlpp/CONTROL b/ports/libxmlpp/CONTROL
deleted file mode 100644
index 65ac0b963..000000000
--- a/ports/libxmlpp/CONTROL
+++ /dev/null
@@ -1,5 +0,0 @@
-Source: libxmlpp
-Version: 2.40.1
-Port-Version: 8
-Description: a C++ wrapper for the libxml XML parser library.
-Build-Depends: libxml2, glibmm
diff --git a/ports/libxmlpp/fixAutoPtrExpired.patch b/ports/libxmlpp/fixAutoPtrExpired.patch
deleted file mode 100644
index 98d4df6bc..000000000
--- a/ports/libxmlpp/fixAutoPtrExpired.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-diff --git a/libxml++/parsers/saxparser.h b/libxml++/parsers/saxparser.h
-index 1362ca3..0bd36d2 100644
---- a/libxml++/parsers/saxparser.h
-+++ b/libxml++/parsers/saxparser.h
-@@ -221,7 +221,7 @@ private:
- //TODO: Remove the virtual when we can break ABI?
- virtual void parse();
-
-- std::auto_ptr<_xmlSAXHandler> sax_handler_;
-+ std::unique_ptr<_xmlSAXHandler> sax_handler_;
-
- // A separate xmlpp::Document that is just used for entity resolution,
- // and never seen in the API:
-diff --git a/libxml++/parsers/textreader.h b/libxml++/parsers/textreader.h
-index 48901b2..17f0737 100644
---- a/libxml++/parsers/textreader.h
-+++ b/libxml++/parsers/textreader.h
-@@ -257,7 +257,7 @@ class TextReader: NonCopyable
- void * locator);
- void check_for_exceptions() const;
-
-- std::auto_ptr<PropertyReader> propertyreader;
-+ std::unique_ptr<PropertyReader> propertyreader;
- _xmlTextReader* impl_;
- int severity_;
- Glib::ustring error_;
-diff --git a/libxml++/relaxngschema.h b/libxml++/relaxngschema.h
-index 8df7089..ffe2eaa 100644
---- a/libxml++/relaxngschema.h
-+++ b/libxml++/relaxngschema.h
-@@ -23,7 +23,7 @@
-
- #include <libxml++/schemabase.h>
- #include <libxml++/document.h>
--#include <memory> // std::auto_ptr
-+#include <memory> // std::unique_ptr
-
- #ifndef DOXYGEN_SHOULD_SKIP_THIS
- extern "C" {
-@@ -105,7 +105,7 @@ protected:
-
- private:
- struct Impl;
-- std::auto_ptr<Impl> pimpl_;
-+ std::unique_ptr<Impl> pimpl_;
- };
-
- } // namespace xmlpp
-diff --git a/libxml++/validators/relaxngvalidator.h b/libxml++/validators/relaxngvalidator.h
-index 5cd5ad7..cd29393 100644
---- a/libxml++/validators/relaxngvalidator.h
-+++ b/libxml++/validators/relaxngvalidator.h
-@@ -22,7 +22,7 @@
- #define __LIBXMLPP_VALIDATOR_RELAXNGVALIDATOR_H
-
- #include <libxml++/validators/schemavalidatorbase.h>
--#include <memory> // std::auto_ptr
-+#include <memory> // std::unique_ptr
-
- namespace Glib
- {
-@@ -156,7 +156,7 @@ protected:
-
- private:
- struct Impl;
-- std::auto_ptr<Impl> pimpl_;
-+ std::unique_ptr<Impl> pimpl_;
- };
-
- } // namespace xmlpp
-diff --git a/libxml++/validators/xsdvalidator.h b/libxml++/validators/xsdvalidator.h
-index 941d7f1..d64b971 100644
---- a/libxml++/validators/xsdvalidator.h
-+++ b/libxml++/validators/xsdvalidator.h
-@@ -20,7 +20,7 @@
- #define __LIBXMLPP_VALIDATOR_XSDVALIDATOR_H
-
- #include <libxml++/validators/schemavalidatorbase.h>
--#include <memory> // std::auto_ptr
-+#include <memory> // std::unique_ptr
-
- namespace Glib
- {
-@@ -146,7 +146,7 @@ protected:
-
- private:
- struct Impl;
-- std::auto_ptr<Impl> pimpl_;
-+ std::unique_ptr<Impl> pimpl_;
- };
-
- } // namespace xmlpp
-diff --git a/libxml++/xsdschema.h b/libxml++/xsdschema.h
-index 1333025..8220e4e 100644
---- a/libxml++/xsdschema.h
-+++ b/libxml++/xsdschema.h
-@@ -21,7 +21,7 @@
-
- #include <libxml++/schemabase.h>
- #include <libxml++/document.h>
--#include <memory> // std::auto_ptr
-+#include <memory> // std::unique_ptr
-
- #ifndef DOXYGEN_SHOULD_SKIP_THIS
- extern "C" {
-@@ -96,7 +96,7 @@ protected:
-
- private:
- struct Impl;
-- std::auto_ptr<Impl> pimpl_;
-+ std::unique_ptr<Impl> pimpl_;
- };
-
- } // namespace xmlpp
diff --git a/ports/libxmlpp/portfile.cmake b/ports/libxmlpp/portfile.cmake
index ae6589200..1620e79b3 100644
--- a/ports/libxmlpp/portfile.cmake
+++ b/ports/libxmlpp/portfile.cmake
@@ -1,31 +1,29 @@
-vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
-
-set(LIBXMLPP_VERSION 2.40.1)
+#..\src\libxml++-5-7c4d4a4cea.clean\meson.build:278:4: ERROR: Problem encountered: Static builds are not supported by MSVC-style builds
+set(LIBXMLPP_VERSION 5.0.0)
vcpkg_download_distfile(ARCHIVE
- URLS "https://ftp.gnome.org/pub/GNOME/sources/libxml++/2.40/libxml++-${LIBXMLPP_VERSION}.tar.xz"
+ URLS "https://ftp.gnome.org/pub/GNOME/sources/libxml++/5.0/libxml++-${LIBXMLPP_VERSION}.tar.xz"
FILENAME "libxml++-${LIBXMLPP_VERSION}.tar.xz"
- SHA512 a4ec2e8182d981c57bdcb8f0a203a3161f8c735ceb59fd212408b7a539d1dc826adf6717bed8f4d544ab08afd9c2fc861efe518e24bbd3a1c4b158e2ca48183a
+ SHA512 ae8d7a178e7a3b48a9f0e1ea303e8a4e4d879d0d9367124ede3783d0c31e31c862b98e5d28d72edc4c0b19c6b457ead2d25664efd33d65e44fd52c5783ec3091
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
- PATCHES
- fixAutoPtrExpired.patch
+ ARCHIVE "${ARCHIVE}"
)
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-
-vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- OPTIONS_DEBUG
- -DDISABLE_INSTALL_HEADERS=ON
+vcpkg_configure_meson(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -Dbuild-documentation=false
+ -Dvalidation=false # Validate the tutorial XML file
+ -Dbuild-examples=false
+ -Dbuild-tests=false
+ -Dmsvc14x-parallel-installable=false # Use separate DLL and LIB filenames for Visual Studio 2017 and 2019
+ -Dbuild-deprecated-api=true # Build deprecated API and include it in the library
)
-
-vcpkg_install_cmake()
-
+vcpkg_install_meson()
+vcpkg_fixup_pkgconfig()
vcpkg_copy_pdbs()
# Handle copyright and readme
diff --git a/ports/libxmlpp/vcpkg.json b/ports/libxmlpp/vcpkg.json
new file mode 100644
index 000000000..ca45f1bc5
--- /dev/null
+++ b/ports/libxmlpp/vcpkg.json
@@ -0,0 +1,10 @@
+{
+ "name": "libxmlpp",
+ "version": "5.0.0",
+ "description": "a C++ wrapper for the libxml XML parser library.",
+ "supports": "!(windows & static)",
+ "dependencies": [
+ "glibmm",
+ "libxml2"
+ ]
+}