aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Farrell <sean.farrell@rioki.org>2020-09-01 02:58:24 +0200
committerGitHub <noreply@github.com>2020-08-31 17:58:24 -0700
commit2045a0e1ddaa36edc90554d88e4240a3342f3616 (patch)
treefe8b1fa5a0a0412b59a76e65935367c9f30d7400
parentb1bdebe4d0bbc304a9765d29de6a8176de22eae7 (diff)
downloadvcpkg-2045a0e1ddaa36edc90554d88e4240a3342f3616.tar.gz
vcpkg-2045a0e1ddaa36edc90554d88e4240a3342f3616.zip
[libxmlmm ] Add new port libxmlmm 0.6.0 (#13139)
-rw-r--r--ports/libxmlmm/CMakeLists.txt59
-rw-r--r--ports/libxmlmm/CONTROL5
-rw-r--r--ports/libxmlmm/portfile.cmake23
3 files changed, 87 insertions, 0 deletions
diff --git a/ports/libxmlmm/CMakeLists.txt b/ports/libxmlmm/CMakeLists.txt
new file mode 100644
index 000000000..721641a64
--- /dev/null
+++ b/ports/libxmlmm/CMakeLists.txt
@@ -0,0 +1,59 @@
+cmake_minimum_required(VERSION 3.8)
+project(libxmlmm CXX)
+
+set(CMAKE_SHARED_LIBRARY_PREFIX)
+set(CMAKE_STATIC_LIBRARY_PREFIX)
+
+find_package(LibXml2 REQUIRED)
+
+set(HEADERS_LIBXMLMM
+ libxmlmm/Attribute.h
+ libxmlmm/CData.h
+ libxmlmm/Comment.h
+ libxmlmm/Content.h
+ libxmlmm/defines.h
+ libxmlmm/Document.h
+ libxmlmm/Element.h
+ libxmlmm/exceptions.h
+ libxmlmm/libxmlmm.h
+ libxmlmm/LibXmlSentry.h
+ libxmlmm/Node.h
+ libxmlmm/ProcessingInstruction.h
+ libxmlmm/Text.h
+ libxmlmm/utils.h
+)
+
+set(SOURCES_LIBXMLMM
+ libxmlmm/Attribute.cpp
+ libxmlmm/CData.cpp
+ libxmlmm/Comment.cpp
+ libxmlmm/Content.cpp
+ libxmlmm/Document.cpp
+ libxmlmm/Element.cpp
+ libxmlmm/LibXmlSentry.cpp
+ libxmlmm/Node.cpp
+ libxmlmm/ProcessingInstruction.cpp
+ libxmlmm/Text.cpp
+ libxmlmm/utils.cpp
+)
+
+add_library(libxmlmm ${SOURCES_LIBXMLMM})
+include_directories(${LIBXML2_INCLUDE_DIR})
+target_link_libraries (libxmlmm ${LIBXML2_LIBRARIES})
+
+set_target_properties(libxmlmm PROPERTIES
+ CXX_STANDARD 17
+ PUBLIC_HEADER "${HEADERS_LIBXMLMM}"
+)
+
+target_include_directories(libxmlmm PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/libxmlmm>
+ $<INSTALL_INTERFACE:include/libxmlmm>)
+
+install(TARGETS ${PROJECT_NAME}
+ EXPORT litehtmlTargets
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+ PUBLIC_HEADER DESTINATION include/libxmlmm
+)
diff --git a/ports/libxmlmm/CONTROL b/ports/libxmlmm/CONTROL
new file mode 100644
index 000000000..a943bcf28
--- /dev/null
+++ b/ports/libxmlmm/CONTROL
@@ -0,0 +1,5 @@
+Source: libxmlmm
+Version: 0.6.0
+Homepage: https://github.com/rioki/libxmlmm
+Description: Libxmlmm is a C++ wrapper for libxml 2.0 that only relies on standard C++ and libxml2.
+Build-Depends: libxml2
diff --git a/ports/libxmlmm/portfile.cmake b/ports/libxmlmm/portfile.cmake
new file mode 100644
index 000000000..552bd6cb2
--- /dev/null
+++ b/ports/libxmlmm/portfile.cmake
@@ -0,0 +1,23 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO rioki/libxmlmm
+ REF r0.6
+ SHA512 4f619e730de2f88b891ef31dd7ced2e6be75fff7f3852ec178843bf8d099d2e1ea84e0fcde35ff7fefc201b026f63e4b5d55f88e48334c49a0333be0327894df
+ HEAD_REF master
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+# Handle copyright
+configure_file(${SOURCE_PATH}/README.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
+
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")