aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/openmvg/build_fixes.patch
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/openmvg/build_fixes.patch
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/openmvg/build_fixes.patch')
-rw-r--r--vcpkg/ports/openmvg/build_fixes.patch132
1 files changed, 132 insertions, 0 deletions
diff --git a/vcpkg/ports/openmvg/build_fixes.patch b/vcpkg/ports/openmvg/build_fixes.patch
new file mode 100644
index 0000000..1ec5ce6
--- /dev/null
+++ b/vcpkg/ports/openmvg/build_fixes.patch
@@ -0,0 +1,132 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 6879c4c..aa4167a 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -324,13 +324,18 @@ else()
+ if (TARGET flann::flann)
+ set(FLANN_LIBRARIES "flann::flann;flann::flann_cpp")
+ else()
+- find_package(Flann QUIET)
++ set(FLANN_LIBRARIES "flann::flann_s;flann::flann_cpp_s")
+ endif()
++ set(FLANN_FOUND TRUE)
+ endif()
+ if (NOT FLANN_FOUND OR OpenMVG_USE_INTERNAL_FLANN)
+ set(FLANN_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/flann/src/cpp)
+ endif()
+
++# Used together in openMVG/LinearProgramming
++find_package(PkgConfig REQUIRED)
++pkg_check_modules(OSI_CLP_COIN osi-clp clp osi coinutils REQUIRED)
++if(0)
+ # ==============================================================================
+ # CoinUtils
+ # ==============================================================================
+@@ -391,6 +396,7 @@ if (OpenMVG_USE_INTERNAL_OSI AND OpenMVG_USE_INTERNAL_CLP AND OpenMVG_USE_INTERN
+ set_property(TARGET lib_Osi PROPERTY FOLDER OpenMVG/3rdParty/lib_Osi)
+ set_property(TARGET lib_OsiClpSolver PROPERTY FOLDER OpenMVG/3rdParty/lib_OsiClpSolver)
+ endif()
++endif()
+
+ # ==============================================================================
+ # Lemon
+@@ -402,7 +408,7 @@ if (NOT DEFINED LEMON_INCLUDE_DIR_HINTS)
+ set(LEMON_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/lemon)
+ set(OpenMVG_USE_INTERNAL_LEMON ON)
+ endif()
+-find_package(Lemon QUIET)
++find_package(LEMON REQUIRED)
+ if (NOT LEMON_FOUND OR OpenMVG_USE_INTERNAL_LEMON)
+ set(LEMON_INCLUDE_DIRS
+ ${CMAKE_CURRENT_SOURCE_DIR}/third_party/lemon
+diff --git a/src/cmakeFindModules/OpenMVGConfig.cmake.in b/src/cmakeFindModules/OpenMVGConfig.cmake.in
+index 5a788b5..7a0afdb 100644
+--- a/src/cmakeFindModules/OpenMVGConfig.cmake.in
++++ b/src/cmakeFindModules/OpenMVGConfig.cmake.in
+@@ -61,7 +61,7 @@ set(CMAKE_MODULE_PATH ${CURRENT_CONFIG_INSTALL_DIR})
+
+ # Build the absolute root install directory as a relative path
+ get_filename_component(CURRENT_ROOT_INSTALL_DIR
+- ${CMAKE_MODULE_PATH}/../../../ ABSOLUTE)
++ "${CMAKE_CURRENT_LIST_DIR}/../.." ABSOLUTE)
+ if (NOT EXISTS ${CURRENT_ROOT_INSTALL_DIR})
+ OPENMVG_REPORT_NOT_FOUND(
+ "OpenMVG install root: ${CURRENT_ROOT_INSTALL_DIR}, "
+@@ -88,11 +88,14 @@ set(OpenMVG_USE_OPENMP "@OpenMVG_USE_OPENMP@")
+
+ # Find transitive dependencies if required
+ include(CMakeFindDependencyMacro)
++find_dependency(flann CONFIG)
++find_dependency(Ceres CONFIG)
++find_dependency(vlfeat CONFIG)
+ if (OpenMVG_USE_OPENMP)
+- find_dependency(OpenMP REQUIRED)
++ find_dependency(OpenMP)
+ endif()
+ if (NOT OpenMVG_USE_INTERNAL_CEREAL)
+- find_dependency(cereal REQUIRED)
++ find_dependency(cereal CONFIG)
+ endif()
+
+ # Import exported OpenMVG targets
+diff --git a/src/nonFree/sift/CMakeLists.txt b/src/nonFree/sift/CMakeLists.txt
+index 402a2d8..b2912ea 100644
+--- a/src/nonFree/sift/CMakeLists.txt
++++ b/src/nonFree/sift/CMakeLists.txt
+@@ -25,7 +25,9 @@ set(FEATS
+ vl/mathop.c
+ vl/random.c)
+ set_source_files_properties(${FEATS} PROPERTIES LANGUAGE C)
+-add_library(vlsift ${FEATS})
++find_package(vlfeat CONFIG REQUIRED)
++add_library(vlsift INTERFACE)
++target_link_libraries(vlsift INTERFACE unofficial::vlfeat::vl)
+ install(TARGETS vlsift DESTINATION lib EXPORT openMVG-targets)
+ set_property(TARGET vlsift PROPERTY FOLDER OpenMVG/nonFree)
+ install(
+diff --git a/src/nonFree/sift/SIFT_describer.hpp b/src/nonFree/sift/SIFT_describer.hpp
+index cd800b0..9586d9b 100644
+--- a/src/nonFree/sift/SIFT_describer.hpp
++++ b/src/nonFree/sift/SIFT_describer.hpp
+@@ -18,7 +18,7 @@
+ #include <numeric>
+
+ extern "C" {
+-#include "nonFree/sift/vl/sift.h"
++#include <vl/sift.h>
+ }
+
+ namespace openMVG {
+diff --git a/src/openMVG/exif/sensor_width_database/CMakeLists.txt b/src/openMVG/exif/sensor_width_database/CMakeLists.txt
+index 33d9f16..58b4761 100644
+--- a/src/openMVG/exif/sensor_width_database/CMakeLists.txt
++++ b/src/openMVG/exif/sensor_width_database/CMakeLists.txt
+@@ -2,4 +2,4 @@
+ UNIT_TEST(openMVG ParseDatabase "openMVG_testing;${STLPLUS_LIBRARY}")
+
+ # Installation rules
+-install(FILES sensor_width_camera_database.txt DESTINATION ${CMAKE_INSTALL_LIBDIR}/openMVG)
++install(FILES sensor_width_camera_database.txt DESTINATION share/openmvg)
+diff --git a/src/openMVG/linearProgramming/CMakeLists.txt b/src/openMVG/linearProgramming/CMakeLists.txt
+index 3a8a402..24151e9 100644
+--- a/src/openMVG/linearProgramming/CMakeLists.txt
++++ b/src/openMVG/linearProgramming/CMakeLists.txt
+@@ -15,16 +15,12 @@ target_link_libraries(openMVG_linearProgramming
+ PUBLIC
+ openMVG_numeric
+ PRIVATE
+- ${CLP_LIBRARIES} # clp + solver wrapper
+- ${COINUTILS_LIBRARY} # container tools
+- ${OSI_LIBRARY} # generic LP
++ ${OSI_CLP_COIN_LINK_LIBRARIES}
+ )
+
+ target_include_directories(openMVG_linearProgramming
+ PRIVATE
+- ${CLP_INCLUDE_DIRS}
+- ${COINUTILS_INCLUDE_DIRS}
+- ${OSI_INCLUDE_DIRS}
++ ${OSI_CLP_COIN_INCLUDE_DIRS}
+ PUBLIC
+ $<INSTALL_INTERFACE:include>
+ )