diff options
Diffstat (limited to 'ports/libxmlpp')
| -rw-r--r-- | ports/libxmlpp/CMakeLists.txt | 95 | ||||
| -rw-r--r-- | ports/libxmlpp/CONTROL | 5 | ||||
| -rw-r--r-- | ports/libxmlpp/fixAutoPtrExpired.patch | 114 | ||||
| -rw-r--r-- | ports/libxmlpp/portfile.cmake | 34 | ||||
| -rw-r--r-- | ports/libxmlpp/vcpkg.json | 10 |
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" + ] +} |
