aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Sinigardi <stesinigardi@hotmail.com>2019-05-17 17:38:01 +0200
committerStefano Sinigardi <stesinigardi@hotmail.com>2019-05-17 17:38:01 +0200
commitd7b6f8b22500f643dc118f5b1dbdec947f6fd881 (patch)
tree06fcfc37b454c5919c3876867eded4639ca30a44
parent9d473a69545ac648b9ea2067c007b57dfad7462b (diff)
downloadvcpkg-d7b6f8b22500f643dc118f5b1dbdec947f6fd881.tar.gz
vcpkg-d7b6f8b22500f643dc118f5b1dbdec947f6fd881.zip
[openmvs] add new port, fix one of the dependencies [cgal] along the road
-rw-r--r--ports/cgal/CONTROL2
-rw-r--r--ports/cgal/cgal_target_fix.patch49
-rw-r--r--ports/cgal/portfile.cmake2
-rw-r--r--ports/openmvs/CONTROL4
-rw-r--r--ports/openmvs/portfile.cmake61
5 files changed, 117 insertions, 1 deletions
diff --git a/ports/cgal/CONTROL b/ports/cgal/CONTROL
index e3131bb20..d42389635 100644
--- a/ports/cgal/CONTROL
+++ b/ports/cgal/CONTROL
@@ -1,5 +1,5 @@
Source: cgal
-Version: 4.14-1
+Version: 4.14-2
Build-Depends: mpfr, mpir, zlib, boost-format, boost-container, boost-iterator, boost-variant, boost-any, boost-unordered, boost-random, boost-foreach, boost-graph, boost-heap, boost-logic, boost-multiprecision
Description: The Computational Geometry Algorithms Library (CGAL) is a C++ library that aims to provide easy access to efficient and reliable algorithms in computational geometry.
diff --git a/ports/cgal/cgal_target_fix.patch b/ports/cgal/cgal_target_fix.patch
new file mode 100644
index 000000000..2fa5155bb
--- /dev/null
+++ b/ports/cgal/cgal_target_fix.patch
@@ -0,0 +1,49 @@
+From a0bfaee9ebed49fb65c93d7fb00a0c24c1898841 Mon Sep 17 00:00:00 2001
+From: Laurent Rineau <laurent.rineau@cgal.org>
+Date: Fri, 10 May 2019 17:31:17 +0200
+Subject: [PATCH 1/2] Consider CGAL as an imported target
+
+---
+ Installation/lib/cmake/CGAL/CGALConfig.cmake | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/Installation/lib/cmake/CGAL/CGALConfig.cmake b/Installation/lib/cmake/CGAL/CGALConfig.cmake
+index c2b0aed549d..08d757aad7f 100644
+--- a/Installation/lib/cmake/CGAL/CGALConfig.cmake
++++ b/Installation/lib/cmake/CGAL/CGALConfig.cmake
+@@ -116,7 +116,11 @@ include(CGAL_setup_target_dependencies)
+ foreach(cgal_lib ${CGAL_LIBRARIES})
+ set(WITH_${cgal_lib} TRUE)
+ if(${cgal_lib}_FOUND AND NOT TARGET ${cgal_lib})
+- add_library(${cgal_lib} INTERFACE)
++ if(CGAL_BUILDING_LIBS)
++ add_library(${cgal_lib} INTERFACE)
++ else()
++ add_library(${cgal_lib} INTERFACE IMPORTED GLOBAL)
++ endif()
+ if(NOT TARGET CGAL::${cgal_lib})
+ add_library(CGAL::${cgal_lib} ALIAS ${cgal_lib})
+ endif()
+
+From c2e8365303b97669fe50ea2427c9943049575be4 Mon Sep 17 00:00:00 2001
+From: Laurent Rineau <laurent.rineau@cgal.org>
+Date: Fri, 10 May 2019 17:47:58 +0200
+Subject: [PATCH 2/2] Actually, it can only work with CMake>=3.11
+
+---
+ Installation/lib/cmake/CGAL/CGALConfig.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Installation/lib/cmake/CGAL/CGALConfig.cmake b/Installation/lib/cmake/CGAL/CGALConfig.cmake
+index 08d757aad7f..8ef95a85c94 100644
+--- a/Installation/lib/cmake/CGAL/CGALConfig.cmake
++++ b/Installation/lib/cmake/CGAL/CGALConfig.cmake
+@@ -116,7 +116,7 @@ include(CGAL_setup_target_dependencies)
+ foreach(cgal_lib ${CGAL_LIBRARIES})
+ set(WITH_${cgal_lib} TRUE)
+ if(${cgal_lib}_FOUND AND NOT TARGET ${cgal_lib})
+- if(CGAL_BUILDING_LIBS)
++ if(CGAL_BUILDING_LIBS OR CMAKE_VERSION VERSION_LESS "3.11")
+ add_library(${cgal_lib} INTERFACE)
+ else()
+ add_library(${cgal_lib} INTERFACE IMPORTED GLOBAL)
diff --git a/ports/cgal/portfile.cmake b/ports/cgal/portfile.cmake
index 58199cc54..873298305 100644
--- a/ports/cgal/portfile.cmake
+++ b/ports/cgal/portfile.cmake
@@ -13,6 +13,8 @@ vcpkg_from_github(
REF releases/CGAL-4.14
SHA512 c70b3ad475f6b2c03ecb540e195b4d26a709205c511b0c705dfddb5b14ef372453ce1d4d49ed342fcd21ba654dea793e91c058afae626276bfb3cfd72bccb382
HEAD_REF master
+ PATCHES
+ cgal_target_fix.patch
)
set(WITH_CGAL_Qt5 OFF)
diff --git a/ports/openmvs/CONTROL b/ports/openmvs/CONTROL
new file mode 100644
index 000000000..9d1884034
--- /dev/null
+++ b/ports/openmvs/CONTROL
@@ -0,0 +1,4 @@
+Source: openmvs
+Version: 0.9
+Description: OpenMVS: open Multi-View Stereo reconstruction library
+Build-Depends: eigen3, opencv, ceres, cgal, boost, vcglib, glew
diff --git a/ports/openmvs/portfile.cmake b/ports/openmvs/portfile.cmake
new file mode 100644
index 000000000..57b61bdc7
--- /dev/null
+++ b/ports/openmvs/portfile.cmake
@@ -0,0 +1,61 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO cdcseacave/openMVS
+ REF v0.9
+ SHA512 a1081ee8562324137273846526c6570c77b35dba6a1a46df4e67f19cf7d0a1a4d4f6091b9444b66e0ca322f466b418ce4535d0c7ce10000df389cbe615f0c0b6
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/OpenMVS TARGET_PATH share/openmvs)
+
+#somehow the native CMAKE_EXECUTABLE_SUFFIX does not work, so here we emulate it
+if(CMAKE_HOST_WIN32)
+set(EXECUTABLE_SUFFIX ".exe")
+else()
+set(EXECUTABLE_SUFFIX "")
+endif()
+
+if("all" IN_LIST FEATURES)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/OpenMVS/DensifyPointCloud${EXECUTABLE_SUFFIX})
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/OpenMVS/InterfaceCOLMAP${EXECUTABLE_SUFFIX})
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/OpenMVS/InterfaceVisualSFM${EXECUTABLE_SUFFIX})
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/OpenMVS/ReconstructMesh${EXECUTABLE_SUFFIX})
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/OpenMVS/RefineMesh${EXECUTABLE_SUFFIX})
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/OpenMVS/TextureMesh${EXECUTABLE_SUFFIX})
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/openmvs/)
+ if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/OpenMVS/DensifyPointCloud${EXECUTABLE_SUFFIX}")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/OpenMVS/DensifyPointCloud${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openmvs/DensifyPointCloud${EXECUTABLE_SUFFIX})
+ endif()
+ if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/OpenMVS/InterfaceCOLMAP${EXECUTABLE_SUFFIX}")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/OpenMVS/InterfaceCOLMAP${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openmvs/InterfaceCOLMAP${EXECUTABLE_SUFFIX})
+ endif()
+ if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/OpenMVS/InterfaceVisualSFM${EXECUTABLE_SUFFIX}")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/OpenMVS/InterfaceVisualSFM${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openmvs/InterfaceVisualSFM${EXECUTABLE_SUFFIX})
+ endif()
+ if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/OpenMVS/ReconstructMesh${EXECUTABLE_SUFFIX}")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/OpenMVS/ReconstructMesh${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openmvs/ReconstructMesh${EXECUTABLE_SUFFIX})
+ endif()
+ if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/OpenMVS/RefineMesh${EXECUTABLE_SUFFIX}")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/OpenMVS/RefineMesh${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openmvs/RefineMesh${EXECUTABLE_SUFFIX})
+ endif()
+ if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/OpenMVS/TextureMesh${EXECUTABLE_SUFFIX}")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/OpenMVS/TextureMesh${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openmvs/TextureMesh${EXECUTABLE_SUFFIX})
+ endif()
+ vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/openmvs)
+endif()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openmvs RENAME copyright)