aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ports/xlnt/CONTROL2
-rw-r--r--ports/xlnt/portfile.cmake68
-rw-r--r--ports/xlnt/static-linking-for-windows.patch13
3 files changed, 52 insertions, 31 deletions
diff --git a/ports/xlnt/CONTROL b/ports/xlnt/CONTROL
index b3fbc8422..3e2cc3d51 100644
--- a/ports/xlnt/CONTROL
+++ b/ports/xlnt/CONTROL
@@ -1,4 +1,4 @@
Source: xlnt
-Version: 1.3.0-2
+Version: 1.4.0
Homepage: https://github.com/tfussell/xlnt
Description: Cross-platform user-friendly xlsx library for C++14
diff --git a/ports/xlnt/portfile.cmake b/ports/xlnt/portfile.cmake
index 1e1a9cb43..42e188335 100644
--- a/ports/xlnt/portfile.cmake
+++ b/ports/xlnt/portfile.cmake
@@ -1,30 +1,38 @@
-include(vcpkg_common_functions)
-
-vcpkg_from_github(
- OUT_SOURCE_PATH SOURCE_PATH
- REPO tfussell/xlnt
- REF v1.3.0
- SHA512 716b93a6138daf1e293980a3c26801bfd00aa713afdd9cbe9be672ccff8c86b69b26eb0f3e8259bd0844e04d0e6148b64467d7db6815c76ecf412715d506786f
- HEAD_REF master
-)
-
-if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- set(STATIC OFF)
-else()
- set(STATIC ON)
-endif()
-
-vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- OPTIONS -DTESTS=OFF -DSAMPLES=OFF -DBENCHMARKS=OFF -DSTATIC=${STATIC}
-)
-
-vcpkg_install_cmake()
-
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/man)
-file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/xlnt RENAME copyright)
-
-vcpkg_copy_pdbs()
+if(VCPKG_TARGET_IS_WINDOWS)
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ set(win_patch "static-linking-for-windows.patch")
+ endif()
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO tfussell/xlnt
+ REF v1.4.0
+ SHA512 74abbee97994098fb7d8fd0839929db74fe01b8428f8bdb8edd28340d3b3ed04d4c7d6dd5d886ae766054ff1b0fe9a8275098a1462e7a5146ff09f1cdb063360
+ HEAD_REF master
+ PATCHES
+ ${win_patch}
+)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ set(STATIC OFF)
+else()
+ set(STATIC ON)
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS -DTESTS=OFF -DSAMPLES=OFF -DBENCHMARKS=OFF -DSTATIC=${STATIC}
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/xlnt)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/man)
+file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+
+vcpkg_copy_pdbs()
diff --git a/ports/xlnt/static-linking-for-windows.patch b/ports/xlnt/static-linking-for-windows.patch
new file mode 100644
index 000000000..9f2719724
--- /dev/null
+++ b/ports/xlnt/static-linking-for-windows.patch
@@ -0,0 +1,13 @@
+diff --git a/include/xlnt/xlnt.hpp b/include/xlnt/xlnt.hpp
+index 01fe4981..9cefa6e0 100644
+--- a/include/xlnt/xlnt.hpp
++++ b/include/xlnt/xlnt.hpp
+@@ -22,7 +22,7 @@
+ // @author: see AUTHORS file
+
+ #pragma once
+-
++#define XLNT_STATIC
+ #include <xlnt/xlnt_config.hpp>
+
+ // cell