From 0ff3028e9610e3907b3b5751545e00556db02103 Mon Sep 17 00:00:00 2001 From: Frank xie Date: Thu, 18 Nov 2021 00:07:00 -0800 Subject: [PATCH 01/15] [openmvg] update version to v2.0 --- ports/openmvg/0001-eigen_3.4.0.patch | 38 +- ports/openmvg/fix-build.patch | 696 +++++++++++++++++++++++++++ ports/openmvg/portfile.cmake | 51 +- ports/openmvg/vcpkg.json | 11 +- 4 files changed, 743 insertions(+), 53 deletions(-) create mode 100644 ports/openmvg/fix-build.patch diff --git a/ports/openmvg/0001-eigen_3.4.0.patch b/ports/openmvg/0001-eigen_3.4.0.patch index be81355dd4e5c1..d7d02bf67fe6b3 100644 --- a/ports/openmvg/0001-eigen_3.4.0.patch +++ b/ports/openmvg/0001-eigen_3.4.0.patch @@ -1,25 +1,13 @@ -From 7be28dca0403660e721d66de954f27b92897163e Mon Sep 17 00:00:00 2001 -From: Alberto Luaces -Date: Wed, 8 Sep 2021 18:00:53 +0200 -Subject: [PATCH] eigen_3.4.0 - ---- - src/openMVG/multiview/solver_fundamental_kernel.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/openMVG/multiview/solver_fundamental_kernel.cpp b/src/openMVG/multiview/solver_fundamental_kernel.cpp -index 5e0c12eb..fa025198 100644 ---- a/src/openMVG/multiview/solver_fundamental_kernel.cpp -+++ b/src/openMVG/multiview/solver_fundamental_kernel.cpp -@@ -134,7 +134,7 @@ void EightPointSolver::Solve - MatX9 epipolar_constraint(x1.cols(), 9); - epipolar_constraint.fill(0.0); - EncodeEpipolarEquation(x1, x2, &epipolar_constraint); -- Eigen::SelfAdjointEigenSolver solver -+ Eigen::SelfAdjointEigenSolver> solver - (epipolar_constraint.transpose() * epipolar_constraint); - f = solver.eigenvectors().leftCols<1>(); - } --- -2.30.2 - +diff --git a/src/openMVG/multiview/solver_fundamental_kernel.cpp b/src/openMVG/multiview/solver_fundamental_kernel.cpp +index 2ffd45a..bbf74b4 100644 +--- a/src/openMVG/multiview/solver_fundamental_kernel.cpp ++++ b/src/openMVG/multiview/solver_fundamental_kernel.cpp +@@ -110,7 +110,7 @@ void EightPointSolver::Solve + x2.colwise().homogeneous(), + &epipolar_constraint); + // Find the F matrice in the nullspace of epipolar_constraint. +- Eigen::SelfAdjointEigenSolver solver ++ Eigen::SelfAdjointEigenSolver> solver + (epipolar_constraint.transpose() * epipolar_constraint); + f = solver.eigenvectors().leftCols<1>(); + diff --git a/ports/openmvg/fix-build.patch b/ports/openmvg/fix-build.patch new file mode 100644 index 00000000000000..d157936139fd51 --- /dev/null +++ b/ports/openmvg/fix-build.patch @@ -0,0 +1,696 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 5d909ec..14926fd 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -20,6 +20,7 @@ if (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) + message(FATAL_ERROR "In-source builds not allowed.") + endif() + ++if(0) + # ============================================================================== + # OpenMVG build options + # ============================================================================== +@@ -38,6 +39,7 @@ option(OpenMVG_USE_OPENMP "Enable OpenMP parallelization" ON) + # ============================================================================== + option(OpenMVG_USE_OPENCV "Build or not opencv+openMVG samples programs" OFF) + ++endif() + # ============================================================================== + # Since OpenCV 3, SIFT is no longer in the default modules. See + # https://github.com/itseez/opencv_contrib for more informations. +@@ -95,6 +97,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + register_definitions(-DOPENMVG_STD_UNORDERED_MAP) + endif() + ++if(0) + # ============================================================================== + # Check that submodule have been initialized and updated + # ============================================================================== +@@ -103,6 +106,7 @@ if (NOT EXISTS ${PROJECT_SOURCE_DIR}/dependencies/cereal/include) + "\n submodule(s) are missing, please update your repository:\n" + " > git submodule update -i\n") + endif() ++endif() + + # ============================================================================== + # Additional cmake find modules +@@ -138,7 +142,7 @@ if (OpenMVG_USE_OPENMP) + find_package(OpenMP) + if (OPENMP_FOUND) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") +- option(OpenMVG_USE_OPENMP "Use OpenMP for parallelization" ON) ++ + register_definitions(-DOPENMVG_USE_OPENMP) + if (NOT MSVC) + if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") +@@ -149,11 +153,7 @@ if (OpenMVG_USE_OPENMP) + endif() + endif (NOT MSVC) + endif (OPENMP_FOUND) +-else (OpenMVG_USE_OPENMP) +- option(OpenMVG_USE_OPENMP "Use OpenMP for parallelization" OFF) +- include(UpdateCacheVariable) +- UPDATE_CACHE_VARIABLE(OpenMVG_USE_OPENMP OFF) +- remove_definitions(-DOPENMVG_USE_OPENMP) ++ + endif (OpenMVG_USE_OPENMP) + + # ============================================================================== +@@ -170,10 +170,10 @@ endif() + # ============================================================================== + # IMAGE IO detection + # ============================================================================== +-find_package(JPEG QUIET) +-find_package(PNG QUIET) +-find_package(TIFF QUIET) +- ++find_package(JPEG REQUIRED) ++find_package(PNG REQUIRED) ++find_package(TIFF REQUIRED) ++find_package(vlfeat REQUIRED) + # Folders + set_property(GLOBAL PROPERTY USE_FOLDERS ON) + +@@ -192,6 +192,7 @@ if (OpenMVG_BUILD_OPENGL_EXAMPLES) + set_property(TARGET glfw PROPERTY FOLDER OpenMVG/3rdParty/glfw) + endif (OpenMVG_BUILD_OPENGL_EXAMPLES) + ++if(0) + # Dependencies install rules + install( + DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/ +@@ -200,6 +201,7 @@ install( + FILES_MATCHING PATTERN "*.hpp" PATTERN "*.h" + ) + ++endif() + # ============================================================================== + # --END-- SUBMODULE CONFIGURATION + # ============================================================================== +@@ -235,6 +237,7 @@ ENDMACRO(UNIT_TEST) + # - external by default + # - internal if cereal not found + # ============================================================================== ++if(0) + find_package(cereal QUIET CONFIG) + if (NOT TARGET cereal) + add_library(cereal INTERFACE) +@@ -247,6 +250,10 @@ if (NOT TARGET cereal) + + set(OpenMVG_USE_INTERNAL_CEREAL ON) + endif() ++endif() ++ ++find_package(cereal REQUIRED CONFIG) ++get_target_property(CEREAL_INCLUDE_DIRS cereal INTERFACE_INCLUDE_DIRECTORIES) + + # ============================================================================== + # Eigen +@@ -255,6 +262,7 @@ endif() + # - external if EIGEN_INCLUDE_DIR_HINTS is defined + # - internal if Eigen not found + # ============================================================================== ++if(0) + find_package(Eigen3 QUIET) + if (NOT Eigen3_FOUND) + set(EIGEN_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/eigen) +@@ -263,13 +271,17 @@ if (NOT Eigen3_FOUND) + else() + set(EIGEN_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR}) + endif() +- ++endif() ++ ++find_package(Eigen3 REQUIRED) ++set(EIGEN_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR}) + # ============================================================================== + # Ceres + # ============================================================================== + # - external by default if CERES_DIR_HINTS or find_package found a valid Ceres + # - internal if ceres not found (ceres-solver+cxsparse+miniglog) + # ============================================================================== ++if(0) + find_package(Ceres QUIET HINTS ${CERES_DIR_HINTS}) + if (NOT Ceres_FOUND) + set(OpenMVG_USE_INTERNAL_CERES ON) +@@ -281,13 +293,16 @@ if (NOT Ceres_FOUND) + STRING(REGEX REPLACE "version ([0-9.]+).*" "\\1" CERES_VERSION ${CERES_CONFIG}) + set(CERES_LIBRARIES openMVG_ceres) + endif() +- ++endif() ++ ++find_package(Ceres REQUIRED) + # ============================================================================== + # Flann + # ============================================================================== + # - internal by default (flann), + # - external if FLANN_INCLUDE_DIR_HINTS and a valid Flann setup is found + # ============================================================================== ++if(0) + if (NOT DEFINED FLANN_INCLUDE_DIR_HINTS) + set(FLANN_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/flann/src/cpp) + set(OpenMVG_USE_INTERNAL_FLANN ON) +@@ -296,13 +311,16 @@ find_package(Flann QUIET) + if (NOT FLANN_FOUND OR OpenMVG_USE_INTERNAL_FLANN) + set(FLANN_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/flann/src/cpp) + endif() +- ++endif() ++ ++find_package(flann REQUIRED) + # ============================================================================== + # CoinUtils + # ============================================================================== + # - internal by default (CoinUtils), + # - external if COINUTILS_INCLUDE_DIR_HINTS and a valid CoinUtils setup is found + # ============================================================================== ++if(0) + if (NOT DEFINED COINUTILS_INCLUDE_DIR_HINTS) + set(COINUTILS_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/CoinUtils/src/) + set(OpenMVG_USE_INTERNAL_COINUTILS ON) +@@ -312,13 +330,16 @@ if (NOT DEFINED COINUTILS_INCLUDE_DIR_HINTS) + else() + find_package(CoinUtils QUIET) + endif() +- ++endif() ++ ++find_package(CoinUtils REQUIRED) + ## ============================================================================== + ## Clp + ## ============================================================================== + ## - internal by default (Clp), + ## - external if CLP_INCLUDE_DIR_HINTS and a valid Clp setup is found + ## ============================================================================== ++if(0) + if (NOT DEFINED CLP_INCLUDE_DIR_HINTS) + set(CLP_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/Clp/src/) + set(OpenMVG_USE_INTERNAL_CLP ON) +@@ -330,13 +351,16 @@ if (NOT DEFINED CLP_INCLUDE_DIR_HINTS) + else() + find_package(Clp QUIET) + endif() ++endif() + ++find_package(Clp REQUIRED) + # ============================================================================== + # Osi + # ============================================================================== + # - internal by default (Osi), + # - external if OSI_INCLUDE_DIR_HINTS and a valid Osi setup is found + # ============================================================================== ++if(0) + if (NOT DEFINED OSI_INCLUDE_DIR_HINTS) + set(OSI_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/Osi/src/) + set(OpenMVG_USE_INTERNAL_OSI ON) +@@ -346,6 +370,9 @@ if (NOT DEFINED OSI_INCLUDE_DIR_HINTS) + else() + find_package(Osi QUIET) + endif() ++endif() ++ ++find_package(Osi REQUIRED) + + # ============================================================================== + # Internal CLP/OSI/COINUTILS libraries: +@@ -364,6 +391,7 @@ endif() + # - internal by default (Lemon), + # - external if LEMON_INCLUDE_DIR_HINTS and a valid Lemon setup is found + # ============================================================================== ++if(0) + 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) +@@ -374,6 +402,9 @@ if (NOT LEMON_FOUND OR OpenMVG_USE_INTERNAL_LEMON) + ${CMAKE_CURRENT_SOURCE_DIR}/third_party/lemon + ${PROJECT_BINARY_DIR}/third_party/lemon) + endif() ++endif() ++ ++find_package(LEMON REQUIRED) + + # ============================================================================== + # OpenCV +@@ -381,12 +412,7 @@ endif() + # - only external and enabled only if OpenMVG_USE_OPENCV is set to ON + # ============================================================================== + if (OpenMVG_USE_OPENCV) +- find_package( OpenCV QUIET ) +- if (NOT OpenCV_FOUND OR OpenCV_VERSION VERSION_LESS "3.0.0") +- message(STATUS "OpenCV was not found (note that OpenCV version >= 3.0.0 is required). -> Disabling OpenCV support.") +- UPDATE_CACHE_VARIABLE(OpenMVG_USE_OPENCV OFF) +- UPDATE_CACHE_VARIABLE(OpenMVG_USE_OCVSIFT OFF) +- endif() ++ find_package( OpenCV REQUIRED ) + endif() + + +@@ -394,7 +420,7 @@ endif() + # Third-party libraries: + # ============================================================================== + add_subdirectory(third_party) +-add_subdirectory(testing) ++ + + # ============================================================================== + # openMVG modules +@@ -481,67 +507,67 @@ message("** Use OpenCV SIFT features: " ${OpenMVG_USE_OCVSIFT}) + + message("\n") + +-if (DEFINED OpenMVG_USE_INTERNAL_CEREAL) ++if (OpenMVG_USE_INTERNAL_CEREAL) + message(STATUS "CEREAL: (internal)") + else() + message(STATUS "CEREAL: (external)") + endif() + +-if (DEFINED OpenMVG_USE_INTERNAL_EIGEN) ++if (OpenMVG_USE_INTERNAL_EIGEN) + message(STATUS "EIGEN: " ${EIGEN_VERSION} " (internal)") + else() + message(STATUS "EIGEN: " ${EIGEN_VERSION} " (external)") + endif() + +-if (DEFINED OpenMVG_USE_INTERNAL_CERES) ++if (OpenMVG_USE_INTERNAL_CERES) + message(STATUS "CERES: " ${CERES_VERSION} " (internal)") + else() + message(STATUS "CERES: " ${CERES_VERSION} " (external)") + endif() + +-if (DEFINED OpenMVG_USE_INTERNAL_FLANN) ++if (OpenMVG_USE_INTERNAL_FLANN) + message(STATUS "FLANN: " ${FLANN_VERSION} " (internal)") + else() + message(STATUS "FLANN: " ${FLANN_VERSION} " (external)") + endif() + +-if (DEFINED OpenMVG_USE_INTERNAL_TIFF) ++if (OpenMVG_USE_INTERNAL_TIFF) + message(STATUS "LIBTIFF: " ${TIFF_VERSION_STRING} " (internal)") + else() + message(STATUS "LIBTIFF: " ${TIFF_VERSION_STRING} " (external)") + endif() + +-if (DEFINED OpenMVG_USE_INTERNAL_PNG) ++if (OpenMVG_USE_INTERNAL_PNG) + message(STATUS "LIBPNG: " ${PNG_VERSION_STRING} " (internal)") + else() + message(STATUS "LIBPNG: " ${PNG_VERSION_STRING} " (external)") + endif() + +-if (DEFINED OpenMVG_USE_INTERNAL_JPEG) ++if (OpenMVG_USE_INTERNAL_JPEG) + message(STATUS "LIBJPEG (internal)") + else() + message(STATUS "LIBJPEG (external)") + endif() + +-if (DEFINED OpenMVG_USE_INTERNAL_CLP) ++if (OpenMVG_USE_INTERNAL_CLP) + message(STATUS "CLP: " ${CLP_VERSION} " (internal)") + else() + message(STATUS "CLP: " ${CLP_VERSION} " (external)") + endif() + +-if (DEFINED OpenMVG_USE_INTERNAL_COINUTILS) ++if (OpenMVG_USE_INTERNAL_COINUTILS) + message(STATUS "COINUTILS: " ${COINUTILS_VERSION} " (internal)") + else() + message(STATUS "COINUTILS: " ${COINUTILS_VERSION} " (external)") + endif() + +-if (DEFINED OpenMVG_USE_INTERNAL_OSI) ++if (OpenMVG_USE_INTERNAL_OSI) + message(STATUS "OSI: " ${OSI_VERSION} " (internal)") + else() + message(STATUS "OSI: " ${OSI_VERSION} " (external)") + endif() + +-if (DEFINED OpenMVG_USE_INTERNAL_LEMON) ++if (OpenMVG_USE_INTERNAL_LEMON) + message(STATUS "LEMON: " ${LEMON_VERSION} " (internal)") + else() + message(STATUS "LEMON: " ${LEMON_VERSION} " (external)") +diff --git a/src/cmakeFindModules/OpenMVGConfig.cmake.in b/src/cmakeFindModules/OpenMVGConfig.cmake.in +index e7dfbfd..310dd36 100644 +--- a/src/cmakeFindModules/OpenMVGConfig.cmake.in ++++ b/src/cmakeFindModules/OpenMVGConfig.cmake.in +@@ -19,7 +19,7 @@ + # OPENMVG_VERSION: Version of OpenMVG found. + # + +-# Called if we failed to find OpenMVG or any of it's required dependencies, ++# Called if we failed to find OpenMVG or any of its required dependencies, + # unsets all public (designed to be used externally) variables and reports + # error message at priority depending upon [REQUIRED/QUIET/] argument. + macro(OPENMVG_REPORT_NOT_FOUND REASON_MSG) +@@ -58,10 +58,20 @@ set(CALLERS_CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}) + # Reset CMake module path to the installation directory of this + # script. + set(CMAKE_MODULE_PATH ${CURRENT_CONFIG_INSTALL_DIR}) ++ ++include(CMakeFindDependencyMacro) ++find_dependency(CoinUtils) ++find_dependency(Clp) ++find_dependency(Osi) ++find_dependency(flann) ++find_dependency(Threads) ++find_dependency(cereal) ++find_dependency(Ceres) ++find_dependency(vlfeat) + + # Build the absolute root install directory as a relative path + get_filename_component(CURRENT_ROOT_INSTALL_DIR +- ${CMAKE_MODULE_PATH}/../../../ ABSOLUTE) ++ ${CMAKE_MODULE_PATH}/../../ ABSOLUTE) + if (NOT EXISTS ${CURRENT_ROOT_INSTALL_DIR}) + OPENMVG_REPORT_NOT_FOUND( + "OpenMVG install root: ${CURRENT_ROOT_INSTALL_DIR}, " +diff --git a/src/nonFree/sift/CMakeLists.txt b/src/nonFree/sift/CMakeLists.txt +index 402a2d8..60ddc11 100644 +--- a/src/nonFree/sift/CMakeLists.txt ++++ b/src/nonFree/sift/CMakeLists.txt +@@ -1,36 +1,36 @@ + +-# libs should be static +-set(BUILD_SHARED_LIBS OFF) +- +-# use PIC code for link into shared lib +-if(UNIX) +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC") +-endif(UNIX) +- +-if(NOT USE_SSE2) +- add_definitions(-DVL_DISABLE_SSE2) +-endif() +- +-add_definitions(-DVL_DISABLE_THREADS) +- +-include_directories(./vl) +-set(FEATS +- vl/generic.c +- vl/imopv_sse2.c +- vl/sift.c +- vl/imopv.c +- vl/mathop_sse2.c +- vl/sift.c +- vl/host.c +- vl/mathop.c +- vl/random.c) +-set_source_files_properties(${FEATS} PROPERTIES LANGUAGE C) +-add_library(vlsift ${FEATS}) +-install(TARGETS vlsift DESTINATION lib EXPORT openMVG-targets) +-set_property(TARGET vlsift PROPERTY FOLDER OpenMVG/nonFree) ++## libs should be static ++#set(BUILD_SHARED_LIBS OFF) ++# ++## use PIC code for link into shared lib ++#if(UNIX) ++# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC") ++#endif(UNIX) ++# ++#if(NOT USE_SSE2) ++# add_definitions(-DVL_DISABLE_SSE2) ++#endif() ++# ++#add_definitions(-DVL_DISABLE_THREADS) ++# ++#include_directories(./vl) ++#set(FEATS ++# vl/generic.c ++# vl/imopv_sse2.c ++# vl/sift.c ++# vl/imopv.c ++# vl/mathop_sse2.c ++# vl/sift.c ++# vl/host.c ++# vl/mathop.c ++# vl/random.c) ++#set_source_files_properties(${FEATS} PROPERTIES LANGUAGE C) ++#add_library(vlsift ${FEATS}) ++#install(TARGETS vlsift DESTINATION lib EXPORT openMVG-targets) ++#set_property(TARGET vlsift PROPERTY FOLDER OpenMVG/nonFree) + install( + DIRECTORY . + DESTINATION include/openMVG_dependencies/nonFree/sift + COMPONENT headers +- FILES_MATCHING PATTERN "*.hpp" PATTERN "*.h" ++ FILES_MATCHING PATTERN "*.hpp" + ) +diff --git a/src/nonFree/sift/SIFT_describer.hpp b/src/nonFree/sift/SIFT_describer.hpp +index cd800b0..20e9c8e 100644 +--- a/src/nonFree/sift/SIFT_describer.hpp ++++ b/src/nonFree/sift/SIFT_describer.hpp +@@ -17,9 +17,7 @@ + #include + #include + +-extern "C" { +-#include "nonFree/sift/vl/sift.h" +-} ++#include + + namespace openMVG { + namespace features { +@@ -174,7 +172,7 @@ public: + const int nkeys = vl_sift_get_nkeypoints(filt); + + // Update gradient before launching parallel extraction +- vl_sift_update_gradient(filt); ++ update_gradient(filt); + + #ifdef OPENMVG_USE_OPENMP + #pragma omp parallel for private(descr, descriptor) +diff --git a/src/openMVG/linearProgramming/CMakeLists.txt b/src/openMVG/linearProgramming/CMakeLists.txt +index cc5212f..bfb28bd 100644 +--- a/src/openMVG/linearProgramming/CMakeLists.txt ++++ b/src/openMVG/linearProgramming/CMakeLists.txt +@@ -15,16 +15,15 @@ target_link_libraries(openMVG_linearProgramming + PUBLIC + openMVG_numeric + PRIVATE +- ${CLP_LIBRARIES} # clp + solver wrapper +- ${COINUTILS_LIBRARY} # container tools +- ${OSI_LIBRARY} # generic LP ++ Coin::Clp # clp + solver wrapper ++ Coin::CoinUtils # container tools ++ Coin::Osi # generic LP + ) + + target_include_directories(openMVG_linearProgramming + PRIVATE +- ${CLP_INCLUDE_DIRS} +- ${COINUTILS_INCLUDE_DIRS} +- ${OSI_INCLUDE_DIRS} ++ PUBLIC ++ $ + PUBLIC + $ + ) +diff --git a/src/openMVG/matching/CMakeLists.txt b/src/openMVG/matching/CMakeLists.txt +index 2e0eafd..be0006f 100644 +--- a/src/openMVG/matching/CMakeLists.txt ++++ b/src/openMVG/matching/CMakeLists.txt +@@ -16,6 +16,7 @@ list(REMOVE_ITEM matching_files_cpp ${REMOVEFILESUNITTEST}) + + set(THREADS_PREFER_PTHREAD_FLAG ON) + find_package(Threads REQUIRED) ++find_package(flann CONFIG REQUIRED) + + set_source_files_properties(${matching_files_cpp} PROPERTIES LANGUAGE CXX) + add_library(openMVG_matching +@@ -37,10 +38,10 @@ target_link_libraries(openMVG_matching + Threads::Threads + cereal + ) +-if (NOT DEFINED OpenMVG_USE_INTERNAL_FLANN) ++if (NOT OpenMVG_USE_INTERNAL_FLANN) + target_link_libraries(openMVG_matching + PUBLIC +- ${FLANN_LIBRARIES} ++ $,flann::flann_s,flann::flann> + ) + endif() + set_target_properties(openMVG_matching PROPERTIES SOVERSION ${OPENMVG_VERSION_MAJOR} VERSION "${OPENMVG_VERSION_MAJOR}.${OPENMVG_VERSION_MINOR}") +diff --git a/src/openMVG/numeric/CMakeLists.txt b/src/openMVG/numeric/CMakeLists.txt +index 1f3fc30..4097320 100644 +--- a/src/openMVG/numeric/CMakeLists.txt ++++ b/src/openMVG/numeric/CMakeLists.txt +@@ -26,7 +26,7 @@ target_include_directories(openMVG_numeric + $ + $ + ) +-if (DEFINED OpenMVG_USE_INTERNAL_EIGEN) ++if (OpenMVG_USE_INTERNAL_EIGEN) + target_include_directories(openMVG_numeric PUBLIC + $) + else() +diff --git a/src/openMVG_Samples/describe_and_match_GUI/CMakeLists.txt b/src/openMVG_Samples/describe_and_match_GUI/CMakeLists.txt +index 862ffc7..326fc9a 100644 +--- a/src/openMVG_Samples/describe_and_match_GUI/CMakeLists.txt ++++ b/src/openMVG_Samples/describe_and_match_GUI/CMakeLists.txt +@@ -18,7 +18,7 @@ if (OpenMVG_BUILD_GUI_SOFTWARES) + add_executable( openMVG_sample_describe_and_match_GUI WIN32 ${FEATURES_PAIR_DEMO_SRCS} ${FEATURES_PAIR_DEMO_HDRS} ) + endif( APPLE ) + +- target_link_libraries( openMVG_sample_describe_and_match_GUI Qt5::Widgets openMVG_features openMVG_image openMVG_matching vlsift ) ++ target_link_libraries( openMVG_sample_describe_and_match_GUI Qt5::Widgets openMVG_features openMVG_image openMVG_matching unofficial::vlfeat::vl ) + + set_target_properties( openMVG_sample_describe_and_match_GUI PROPERTIES CXX_STANDARD 11) + +diff --git a/src/openMVG_Samples/features_image_matching/CMakeLists.txt b/src/openMVG_Samples/features_image_matching/CMakeLists.txt +index 18fb385..d44ffce 100644 +--- a/src/openMVG_Samples/features_image_matching/CMakeLists.txt ++++ b/src/openMVG_Samples/features_image_matching/CMakeLists.txt +@@ -5,7 +5,7 @@ target_link_libraries(openMVG_sample_image_matching + openMVG_features + openMVG_matching + ${STLPLUS_LIBRARY} +- vlsift) ++ unofficial::vlfeat::vl) + target_compile_definitions(openMVG_sample_image_matching + PRIVATE -DTHIS_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}") + +diff --git a/src/openMVG_Samples/features_repeatability/CMakeLists.txt b/src/openMVG_Samples/features_repeatability/CMakeLists.txt +index fd2b7c6..91f2766 100644 +--- a/src/openMVG_Samples/features_repeatability/CMakeLists.txt ++++ b/src/openMVG_Samples/features_repeatability/CMakeLists.txt +@@ -6,7 +6,7 @@ target_link_libraries(openMVG_sample_main_features_repeatability_dataset + openMVG_matching + openMVG_system + openMVG_multiview +- vlsift ++ unofficial::vlfeat::vl + ${STLPLUS_LIBRARY}) + + set_property(TARGET openMVG_sample_main_features_repeatability_dataset PROPERTY FOLDER OpenMVG/Samples) +diff --git a/src/software/Localization/CMakeLists.txt b/src/software/Localization/CMakeLists.txt +index 2f60393..0d57d0a 100644 +--- a/src/software/Localization/CMakeLists.txt ++++ b/src/software/Localization/CMakeLists.txt +@@ -11,7 +11,7 @@ target_link_libraries(openMVG_main_SfM_Localization + openMVG_sfm + openMVG_exif + ${STLPLUS_LIBRARY} +- vlsift ++ unofficial::vlfeat::vl + ) + + # Installation rules +diff --git a/src/software/SfM/CMakeLists.txt b/src/software/SfM/CMakeLists.txt +index 6db7e83..51e06f5 100644 +--- a/src/software/SfM/CMakeLists.txt ++++ b/src/software/SfM/CMakeLists.txt +@@ -44,7 +44,7 @@ target_link_libraries(openMVG_main_ComputeFeatures + openMVG_multiview + openMVG_sfm + ${STLPLUS_LIBRARY} +- vlsift ++ unofficial::vlfeat::vl + ) + if (MSVC) + set_target_properties(openMVG_main_ComputeFeatures PROPERTIES COMPILE_FLAGS "/bigobj") +@@ -275,7 +275,7 @@ if(OpenMVG_USE_OPENCV) + openMVG_multiview + openMVG_sfm + ${STLPLUS_LIBRARY} +- vlsift ++ unofficial::vlfeat::vl + ${OpenCV_LIBS}) + target_include_directories(openMVG_main_ComputeFeatures_OpenCV PRIVATE ${OpenCV_INCLUDE_DIRS}) + +diff --git a/src/software/SfM/SfM_GlobalPipeline.py.in b/src/software/SfM/SfM_GlobalPipeline.py.in +index 42b41cc..7fda0cd 100644 +--- a/src/software/SfM/SfM_GlobalPipeline.py.in ++++ b/src/software/SfM/SfM_GlobalPipeline.py.in +@@ -21,7 +21,7 @@ + OPENMVG_SFM_BIN = "@OPENMVG_SOFTWARE_SFM_BUILD_DIR@" + + # Indicate the openMVG camera sensor width directory +-CAMERA_SENSOR_WIDTH_DIRECTORY = "@OPENMVG_SOFTWARE_SFM_SRC_DIR@" + "/../../openMVG/exif/sensor_width_database" ++CAMERA_SENSOR_WIDTH_DIRECTORY = "@OPENMVG_CAMERA_SENSOR_WIDTH_DIRECTORY@" + + import os + import subprocess +diff --git a/src/software/SfM/SfM_SequentialPipeline.py.in b/src/software/SfM/SfM_SequentialPipeline.py.in +index 423c85c..0ff2e77 100644 +--- a/src/software/SfM/SfM_SequentialPipeline.py.in ++++ b/src/software/SfM/SfM_SequentialPipeline.py.in +@@ -21,7 +21,7 @@ + OPENMVG_SFM_BIN = "@OPENMVG_SOFTWARE_SFM_BUILD_DIR@" + + # Indicate the openMVG camera sensor width directory +-CAMERA_SENSOR_WIDTH_DIRECTORY = "@OPENMVG_SOFTWARE_SFM_SRC_DIR@" + "/../../openMVG/exif/sensor_width_database" ++CAMERA_SENSOR_WIDTH_DIRECTORY = "@OPENMVG_CAMERA_SENSOR_WIDTH_DIRECTORY@" + + import os + import subprocess +diff --git a/src/software/SfM/tutorial_demo.py.in b/src/software/SfM/tutorial_demo.py.in +index c7361f3..1c56aab 100644 +--- a/src/software/SfM/tutorial_demo.py.in ++++ b/src/software/SfM/tutorial_demo.py.in +@@ -12,7 +12,7 @@ + OPENMVG_SFM_BIN = "@OPENMVG_SOFTWARE_SFM_BUILD_DIR@" + + # Indicate the openMVG camera sensor width directory +-CAMERA_SENSOR_WIDTH_DIRECTORY = "@OPENMVG_SOFTWARE_SFM_SRC_DIR@" + "/../../openMVG/exif/sensor_width_database" ++CAMERA_SENSOR_WIDTH_DIRECTORY = "@OPENMVG_CAMERA_SENSOR_WIDTH_DIRECTORY@" + + import os + import subprocess +diff --git a/src/software/VO/Tracker_opencv_klt.hpp b/src/software/VO/Tracker_opencv_klt.hpp +index aa7dffe..2c4d237 100644 +--- a/src/software/VO/Tracker_opencv_klt.hpp ++++ b/src/software/VO/Tracker_opencv_klt.hpp +@@ -80,7 +80,7 @@ struct Tracker_opencv_KLT : public Abstract_Tracker + std::vector m_nextKeypoints; + + cv::Ptr m_detector = cv::GFTTDetector::create(count); +- if (m_detector == NULL) ++ if (m_detector == nullptr) + return false; + + m_detector->detect(current_img, m_nextKeypoints); +diff --git a/src/third_party/CMakeLists.txt b/src/third_party/CMakeLists.txt +index 0d61c9f..05c8b29 100644 +--- a/src/third_party/CMakeLists.txt ++++ b/src/third_party/CMakeLists.txt +@@ -18,7 +18,7 @@ add_subdirectory(stlplus3) + set(STLPLUS_LIBRARY openMVG_stlplus PARENT_SCOPE) + + # Add graph library +-if(DEFINED OpenMVG_USE_INTERNAL_LEMON) ++if(OpenMVG_USE_INTERNAL_LEMON) + add_subdirectory(lemon) + set(LEMON_LIBRARY openMVG_lemon PARENT_SCOPE) + endif() +@@ -67,7 +67,7 @@ endif (NOT TIFF_FOUND) + add_subdirectory(vectorGraphics) + + # Add ceres-solver (A Nonlinear Least Squares Minimizer) +-if (DEFINED OpenMVG_USE_INTERNAL_CERES) ++if (OpenMVG_USE_INTERNAL_CERES) + add_subdirectory(cxsparse) + add_subdirectory(ceres-solver) + set_property(TARGET openMVG_cxsparse PROPERTY FOLDER OpenMVG/3rdParty/ceres) +@@ -75,7 +75,7 @@ if (DEFINED OpenMVG_USE_INTERNAL_CERES) + endif() + + # Add an Approximate Nearest Neighbor library +-if (DEFINED OpenMVG_USE_INTERNAL_FLANN) ++if (OpenMVG_USE_INTERNAL_FLANN) + set(FLANN_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include/openMVG/third_party/flann/src/cpp) + add_subdirectory(flann) + endif() +@@ -89,7 +89,7 @@ add_subdirectory(fast) + ## + # Install Header only libraries if necessary + ## +-if (DEFINED OpenMVG_USE_INTERNAL_EIGEN) ++if (OpenMVG_USE_INTERNAL_EIGEN) + #Configure Eigen install + set(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include/openMVG/third_party/eigen) + add_subdirectory(eigen) diff --git a/ports/openmvg/portfile.cmake b/ports/openmvg/portfile.cmake index bb8d115ee8f553..421bddeb83eb60 100644 --- a/ports/openmvg/portfile.cmake +++ b/ports/openmvg/portfile.cmake @@ -10,10 +10,10 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO openMVG/openMVG - REF 74deb33d12bf275a3b3a9afc833f4760be90f031 # v1.6 - SHA512 6e74effbc66f5d5e7c2d5edd7dacf3c0fa7eec1cb666244db8e4147c08d2e6faca98c1164ca1305a5013d247d479184742e5156232d4d8430615af31811e216e + REF d0fe73dd426ae4001631a51272cff71047522df9 # v2.0 + SHA512 1d5c68971ad63ced46d8b9070bdacc1065b4ba950fe919e11f952a004def87d4d83a474d48aee714c21b12106d7d81187d3670d8a2e6daf2d3c5fceb008a5de3 PATCHES - build_fixes.patch + fix-build.patch 0001-eigen_3.4.0.patch ) @@ -53,9 +53,8 @@ file(REMOVE_RECURSE ${SOURCE_PATH}/src/cmakeFindModules/FindEigen.cmake ${SOURCE_PATH}/src/cmakeFindModules/FindClp.cmake ${SOURCE_PATH}/src/cmakeFindModules/FindOsi.cmake) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/src - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/src" OPTIONS ${FEATURE_OPTIONS} -DOpenMVG_USE_OPENMP=${OpenMVG_USE_OPENMP} -DOpenMVG_BUILD_SHARED=OFF @@ -74,29 +73,29 @@ vcpkg_configure_cmake( -DOpenMVG_USE_INTERNAL_LEMON=OFF ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/openMVG/cmake) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH share/openMVG/cmake) if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/openMVG/image/image_test - ${CURRENT_PACKAGES_DIR}/include/openMVG/exif/image_data - ${CURRENT_PACKAGES_DIR}/include/openMVG_dependencies/nonFree/sift/vl) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/openMVG/image/image_test" + "${CURRENT_PACKAGES_DIR}/include/openMVG/exif/image_data" + "${CURRENT_PACKAGES_DIR}/include/openMVG_dependencies/nonFree/sift/vl") if(OpenMVG_BUILD_SHARED) if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") # release - file(GLOB DLL_FILES ${CURRENT_PACKAGES_DIR}/lib/*.dll) - file(COPY ${DLL_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) - file(REMOVE_RECURSE ${DLL_FILES}) + file(GLOB DLL_FILES "${CURRENT_PACKAGES_DIR}/lib/*.dll") + file(COPY "${DLL_FILES}" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + file(REMOVE_RECURSE "${DLL_FILES}") endif() if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") # debug - file(GLOB DLL_FILES ${CURRENT_PACKAGES_DIR}/debug/lib/*.dll) - file(COPY ${DLL_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - file(REMOVE_RECURSE ${DLL_FILES}) + file(GLOB DLL_FILES "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll") + file(COPY "${DLL_FILES"} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + file(REMOVE_RECURSE "${DLL_FILES}") endif() endif() vcpkg_copy_pdbs() @@ -107,10 +106,10 @@ if("software" IN_LIST FEATURES) openMVG_main_AlternativeVO.app ui_openMVG_MatchesViewer.app ) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/openMVG_main_AlternativeVO.app) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/ui_openMVG_MatchesViewer.app) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/openMVG_main_AlternativeVO.app) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/ui_openMVG_MatchesViewer.app) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/openMVG_main_AlternativeVO.app") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/ui_openMVG_MatchesViewer.app") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin/openMVG_main_AlternativeVO.app") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin/ui_openMVG_MatchesViewer.app") else() vcpkg_copy_tools(AUTO_CLEAN TOOL_NAMES openMVG_main_AlternativeVO @@ -164,9 +163,9 @@ if("software" IN_LIST FEATURES) ) endif() - file(COPY ${SOURCE_PATH}/src/openMVG/exif/sensor_width_database/sensor_width_camera_database.txt DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) - set(OPENMVG_SOFTWARE_SFM_BUILD_DIR ${CURRENT_INSTALLED_DIR}/tools/${PORT}) - set(OPENMVG_CAMERA_SENSOR_WIDTH_DIRECTORY ${CURRENT_INSTALLED_DIR}/tools/${PORT}) + file(COPY "${SOURCE_PATH}/src/openMVG/exif/sensor_width_database/sensor_width_camera_database.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + set(OPENMVG_SOFTWARE_SFM_BUILD_DIR "${CURRENT_INSTALLED_DIR}/tools/${PORT}") + set(OPENMVG_CAMERA_SENSOR_WIDTH_DIRECTORY "${CURRENT_INSTALLED_DIR}/tools/${PORT}") configure_file("${SOURCE_PATH}/src/software/SfM/tutorial_demo.py.in" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/tutorial_demo.py" @ONLY) configure_file("${SOURCE_PATH}/src/software/SfM/SfM_GlobalPipeline.py.in" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/SfM_GlobalPipeline.py" @ONLY) configure_file("${SOURCE_PATH}/src/software/SfM/SfM_SequentialPipeline.py.in" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/SfM_SequentialPipeline.py" @ONLY) @@ -174,4 +173,4 @@ if("software" IN_LIST FEATURES) endif() # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/openmvg/vcpkg.json b/ports/openmvg/vcpkg.json index 42686e60a0b712..35548379460a79 100644 --- a/ports/openmvg/vcpkg.json +++ b/ports/openmvg/vcpkg.json @@ -1,7 +1,6 @@ { "name": "openmvg", - "version": "1.6", - "port-version": 3, + "version": "2.0", "description": "open Multiple View Geometry library. Basis for 3D computer vision and Structure from Motion.", "dependencies": [ "cereal", @@ -12,6 +11,14 @@ "suitesparse" ] }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "clp", "coinutils", "eigen3", From d410a70cd663f748b19ef14035c77c7f326aa24b Mon Sep 17 00:00:00 2001 From: Frank xie Date: Thu, 18 Nov 2021 00:10:47 -0800 Subject: [PATCH 02/15] update version.json --- ports/openmvg/vcpkg.json | 16 ++++++++-------- versions/baseline.json | 4 ++-- versions/o-/openmvg.json | 5 +++++ 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/ports/openmvg/vcpkg.json b/ports/openmvg/vcpkg.json index 35548379460a79..28732cc07d52fd 100644 --- a/ports/openmvg/vcpkg.json +++ b/ports/openmvg/vcpkg.json @@ -11,14 +11,6 @@ "suitesparse" ] }, - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - }, "clp", "coinutils", "eigen3", @@ -28,6 +20,14 @@ "libpng", "osi", "tiff", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "vlfeat", "zlib" ], diff --git a/versions/baseline.json b/versions/baseline.json index 08e122171290f1..f1897fe1f04686 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4961,8 +4961,8 @@ "port-version": 3 }, "openmvg": { - "baseline": "1.6", - "port-version": 3 + "baseline": "2.0", + "port-version": 0 }, "openmvs": { "baseline": "1.1.1", diff --git a/versions/o-/openmvg.json b/versions/o-/openmvg.json index 1731c064e518f9..7fbd08b17d393c 100644 --- a/versions/o-/openmvg.json +++ b/versions/o-/openmvg.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "ff29f8963c8b7f35cb0c7c8f8f86951dc1310e1c", + "version": "2.0", + "port-version": 0 + }, { "git-tree": "6f3087d8d002d7f226e77427ce363e2b20371485", "version": "1.6", From 53a330b3844eb6257a0b60f9b6785657ceaaa60d Mon Sep 17 00:00:00 2001 From: Frank xie Date: Thu, 18 Nov 2021 00:11:51 -0800 Subject: [PATCH 03/15] update version --- versions/o-/openmvg.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/o-/openmvg.json b/versions/o-/openmvg.json index 7fbd08b17d393c..6e5474246aae70 100644 --- a/versions/o-/openmvg.json +++ b/versions/o-/openmvg.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "ff29f8963c8b7f35cb0c7c8f8f86951dc1310e1c", + "git-tree": "fbc654f3aaccf737a79f6cdcc19c368f70c3b03f", "version": "2.0", "port-version": 0 }, From 14a02aafd705f9bf93f2b7b773763f633e398653 Mon Sep 17 00:00:00 2001 From: Frank xie Date: Tue, 23 Nov 2021 21:49:01 -0800 Subject: [PATCH 04/15] build_fixes.patch --- ports/openmvg/build_fixes.patch | 172 ++++++++++++-------------------- ports/openmvg/portfile.cmake | 2 +- 2 files changed, 67 insertions(+), 107 deletions(-) diff --git a/ports/openmvg/build_fixes.patch b/ports/openmvg/build_fixes.patch index 3b2b199b4b29ae..12559bda54616e 100644 --- a/ports/openmvg/build_fixes.patch +++ b/ports/openmvg/build_fixes.patch @@ -1,8 +1,8 @@ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 9cfd06c..8859469 100644 +index 5d909ec..14926fd 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -14,6 +14,7 @@ if (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) +@@ -20,6 +20,7 @@ if (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) message(FATAL_ERROR "In-source builds not allowed.") endif() @@ -10,16 +10,15 @@ index 9cfd06c..8859469 100644 # ============================================================================== # OpenMVG build options # ============================================================================== -@@ -31,7 +32,7 @@ option(OpenMVG_USE_OPENMP "Enable OpenMP parallelization" ON) - # and openMVG simultaneously +@@ -38,6 +39,7 @@ option(OpenMVG_USE_OPENMP "Enable OpenMP parallelization" ON) # ============================================================================== option(OpenMVG_USE_OPENCV "Build or not opencv+openMVG samples programs" OFF) -- + +endif() # ============================================================================== # Since OpenCV 3, SIFT is no longer in the default modules. See # https://github.com/itseez/opencv_contrib for more informations. -@@ -85,6 +86,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") +@@ -95,6 +97,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") register_definitions(-DOPENMVG_STD_UNORDERED_MAP) endif() @@ -27,7 +26,7 @@ index 9cfd06c..8859469 100644 # ============================================================================== # Check that submodule have been initialized and updated # ============================================================================== -@@ -93,6 +95,7 @@ if (NOT EXISTS ${PROJECT_SOURCE_DIR}/dependencies/cereal/include) +@@ -103,6 +106,7 @@ if (NOT EXISTS ${PROJECT_SOURCE_DIR}/dependencies/cereal/include) "\n submodule(s) are missing, please update your repository:\n" " > git submodule update -i\n") endif() @@ -35,15 +34,16 @@ index 9cfd06c..8859469 100644 # ============================================================================== # Additional cmake find modules -@@ -128,7 +131,6 @@ if (OpenMVG_USE_OPENMP) +@@ -138,7 +142,7 @@ if (OpenMVG_USE_OPENMP) find_package(OpenMP) if (OPENMP_FOUND) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") - option(OpenMVG_USE_OPENMP "Use OpenMP for parallelization" ON) ++ register_definitions(-DOPENMVG_USE_OPENMP) if (NOT MSVC) if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") -@@ -139,11 +141,6 @@ if (OpenMVG_USE_OPENMP) +@@ -149,11 +153,7 @@ if (OpenMVG_USE_OPENMP) endif() endif (NOT MSVC) endif (OPENMP_FOUND) @@ -52,10 +52,11 @@ index 9cfd06c..8859469 100644 - include(UpdateCacheVariable) - UPDATE_CACHE_VARIABLE(OpenMVG_USE_OPENMP OFF) - remove_definitions(-DOPENMVG_USE_OPENMP) ++ endif (OpenMVG_USE_OPENMP) # ============================================================================== -@@ -160,10 +157,10 @@ endif() +@@ -170,10 +170,10 @@ endif() # ============================================================================== # IMAGE IO detection # ============================================================================== @@ -70,7 +71,7 @@ index 9cfd06c..8859469 100644 # Folders set_property(GLOBAL PROPERTY USE_FOLDERS ON) -@@ -182,6 +179,7 @@ if (OpenMVG_BUILD_OPENGL_EXAMPLES) +@@ -192,6 +192,7 @@ if (OpenMVG_BUILD_OPENGL_EXAMPLES) set_property(TARGET glfw PROPERTY FOLDER OpenMVG/3rdParty/glfw) endif (OpenMVG_BUILD_OPENGL_EXAMPLES) @@ -78,16 +79,15 @@ index 9cfd06c..8859469 100644 # Dependencies install rules install( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/ -@@ -189,7 +187,7 @@ install( - COMPONENT headers +@@ -200,6 +201,7 @@ install( FILES_MATCHING PATTERN "*.hpp" PATTERN "*.h" ) -- + +endif() # ============================================================================== # --END-- SUBMODULE CONFIGURATION # ============================================================================== -@@ -225,6 +223,7 @@ ENDMACRO(UNIT_TEST) +@@ -235,6 +237,7 @@ ENDMACRO(UNIT_TEST) # - external by default # - internal if cereal not found # ============================================================================== @@ -95,7 +95,7 @@ index 9cfd06c..8859469 100644 find_package(cereal QUIET CONFIG) if (NOT TARGET cereal) add_library(cereal INTERFACE) -@@ -237,6 +236,10 @@ if (NOT TARGET cereal) +@@ -247,6 +250,10 @@ if (NOT TARGET cereal) set(OpenMVG_USE_INTERNAL_CEREAL ON) endif() @@ -106,7 +106,7 @@ index 9cfd06c..8859469 100644 # ============================================================================== # Eigen -@@ -245,6 +248,7 @@ endif() +@@ -255,6 +262,7 @@ endif() # - external if EIGEN_INCLUDE_DIR_HINTS is defined # - internal if Eigen not found # ============================================================================== @@ -114,12 +114,13 @@ index 9cfd06c..8859469 100644 find_package(Eigen3 QUIET) if (NOT Eigen3_FOUND) set(EIGEN_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/eigen) -@@ -253,13 +257,17 @@ if (NOT Eigen3_FOUND) +@@ -263,13 +271,17 @@ if (NOT Eigen3_FOUND) else() set(EIGEN_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR}) endif() +- +endif() - ++ +find_package(Eigen3 REQUIRED) +set(EIGEN_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR}) # ============================================================================== @@ -132,12 +133,13 @@ index 9cfd06c..8859469 100644 find_package(Ceres QUIET HINTS ${CERES_DIR_HINTS}) if (NOT Ceres_FOUND) set(OpenMVG_USE_INTERNAL_CERES ON) -@@ -271,13 +279,16 @@ if (NOT Ceres_FOUND) +@@ -281,13 +293,16 @@ if (NOT Ceres_FOUND) STRING(REGEX REPLACE "version ([0-9.]+).*" "\\1" CERES_VERSION ${CERES_CONFIG}) set(CERES_LIBRARIES openMVG_ceres) endif() +- +endif() - ++ +find_package(Ceres REQUIRED) # ============================================================================== # Flann @@ -149,12 +151,13 @@ index 9cfd06c..8859469 100644 if (NOT DEFINED FLANN_INCLUDE_DIR_HINTS) set(FLANN_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/flann/src/cpp) set(OpenMVG_USE_INTERNAL_FLANN ON) -@@ -286,13 +297,16 @@ find_package(Flann QUIET) +@@ -296,13 +311,16 @@ find_package(Flann QUIET) if (NOT FLANN_FOUND OR OpenMVG_USE_INTERNAL_FLANN) set(FLANN_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/flann/src/cpp) endif() +- +endif() - ++ +find_package(flann REQUIRED) # ============================================================================== # CoinUtils @@ -166,12 +169,13 @@ index 9cfd06c..8859469 100644 if (NOT DEFINED COINUTILS_INCLUDE_DIR_HINTS) set(COINUTILS_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/CoinUtils/src/) set(OpenMVG_USE_INTERNAL_COINUTILS ON) -@@ -302,13 +316,16 @@ if (NOT DEFINED COINUTILS_INCLUDE_DIR_HINTS) +@@ -312,13 +330,16 @@ if (NOT DEFINED COINUTILS_INCLUDE_DIR_HINTS) else() find_package(CoinUtils QUIET) endif() +- +endif() - ++ +find_package(CoinUtils REQUIRED) ## ============================================================================== ## Clp @@ -183,17 +187,16 @@ index 9cfd06c..8859469 100644 if (NOT DEFINED CLP_INCLUDE_DIR_HINTS) set(CLP_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/Clp/src/) set(OpenMVG_USE_INTERNAL_CLP ON) -@@ -320,6 +337,9 @@ if (NOT DEFINED CLP_INCLUDE_DIR_HINTS) +@@ -330,13 +351,16 @@ if (NOT DEFINED CLP_INCLUDE_DIR_HINTS) else() find_package(Clp QUIET) endif() +endif() -+ -+find_package(Clp REQUIRED) ++find_package(Clp REQUIRED) # ============================================================================== # Osi -@@ -327,6 +347,7 @@ endif() + # ============================================================================== # - internal by default (Osi), # - external if OSI_INCLUDE_DIR_HINTS and a valid Osi setup is found # ============================================================================== @@ -201,7 +204,7 @@ index 9cfd06c..8859469 100644 if (NOT DEFINED OSI_INCLUDE_DIR_HINTS) set(OSI_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/Osi/src/) set(OpenMVG_USE_INTERNAL_OSI ON) -@@ -336,6 +357,9 @@ if (NOT DEFINED OSI_INCLUDE_DIR_HINTS) +@@ -346,6 +370,9 @@ if (NOT DEFINED OSI_INCLUDE_DIR_HINTS) else() find_package(Osi QUIET) endif() @@ -211,7 +214,7 @@ index 9cfd06c..8859469 100644 # ============================================================================== # Internal CLP/OSI/COINUTILS libraries: -@@ -354,6 +378,7 @@ endif() +@@ -364,6 +391,7 @@ endif() # - internal by default (Lemon), # - external if LEMON_INCLUDE_DIR_HINTS and a valid Lemon setup is found # ============================================================================== @@ -219,9 +222,9 @@ index 9cfd06c..8859469 100644 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) -@@ -365,6 +390,9 @@ if (NOT LEMON_FOUND OR OpenMVG_USE_INTERNAL_LEMON) +@@ -374,6 +402,9 @@ if (NOT LEMON_FOUND OR OpenMVG_USE_INTERNAL_LEMON) + ${CMAKE_CURRENT_SOURCE_DIR}/third_party/lemon ${PROJECT_BINARY_DIR}/third_party/lemon) - set(LEMON_LIBRARY openMVG_lemon) endif() +endif() + @@ -229,7 +232,7 @@ index 9cfd06c..8859469 100644 # ============================================================================== # OpenCV -@@ -372,20 +400,13 @@ endif() +@@ -381,12 +412,7 @@ endif() # - only external and enabled only if OpenMVG_USE_OPENCV is set to ON # ============================================================================== if (OpenMVG_USE_OPENCV) @@ -242,16 +245,17 @@ index 9cfd06c..8859469 100644 + find_package( OpenCV REQUIRED ) endif() -- - # ============================================================================== + +@@ -394,7 +420,7 @@ endif() # Third-party libraries: # ============================================================================== add_subdirectory(third_party) -add_subdirectory(testing) ++ # ============================================================================== # openMVG modules -@@ -472,67 +493,67 @@ message("** Use OpenCV SIFT features: " ${OpenMVG_USE_OCVSIFT}) +@@ -481,67 +507,67 @@ message("** Use OpenCV SIFT features: " ${OpenMVG_USE_OCVSIFT}) message("\n") @@ -330,24 +334,8 @@ index 9cfd06c..8859469 100644 message(STATUS "LEMON: " ${LEMON_VERSION} " (internal)") else() message(STATUS "LEMON: " ${LEMON_VERSION} " (external)") -diff --git a/src/cmakeFindModules/FindClp.cmake b/src/cmakeFindModules/FindClp.cmake -index 8a69c23..6a81580 100644 ---- a/src/cmakeFindModules/FindClp.cmake -+++ b/src/cmakeFindModules/FindClp.cmake -@@ -51,9 +51,8 @@ IF(EXISTS "${CLP_DIR}" AND NOT "${CLP_DIR}" STREQUAL "") - SET(CLP_INCLUDE_DIR ${CLP_DIR}) - - FIND_LIBRARY(CLP_LIBRARY NAMES Clp) -- FIND_LIBRARY(CLPSOLVER_LIBRARY NAMES ClpSolver) -- FIND_LIBRARY(OSICLP_LIBRARY NAMES OsiClp) -- -+ FIND_LIBRARY(CLPSOLVER_LIBRARY NAMES ClpSolver Clp) -+ FIND_LIBRARY(OSICLP_LIBRARY NAMES OsiClp Clp) - # locate Clp libraries - IF(DEFINED CLP_LIBRARY AND DEFINED CLPSOLVER_LIBRARY AND DEFINED OSICLP_LIBRARY) - SET(CLP_LIBRARIES ${CLP_LIBRARY} ${CLPSOLVER_LIBRARY} ${OSICLP_LIBRARY}) diff --git a/src/cmakeFindModules/OpenMVGConfig.cmake.in b/src/cmakeFindModules/OpenMVGConfig.cmake.in -index e7dfbfd..c01910d 100644 +index e7dfbfd..310dd36 100644 --- a/src/cmakeFindModules/OpenMVGConfig.cmake.in +++ b/src/cmakeFindModules/OpenMVGConfig.cmake.in @@ -19,7 +19,7 @@ @@ -359,10 +347,11 @@ index e7dfbfd..c01910d 100644 # unsets all public (designed to be used externally) variables and reports # error message at priority depending upon [REQUIRED/QUIET/] argument. macro(OPENMVG_REPORT_NOT_FOUND REASON_MSG) -@@ -59,9 +59,19 @@ set(CALLERS_CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}) +@@ -58,10 +58,20 @@ set(CALLERS_CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}) + # Reset CMake module path to the installation directory of this # script. set(CMAKE_MODULE_PATH ${CURRENT_CONFIG_INSTALL_DIR}) - ++ +include(CMakeFindDependencyMacro) +find_dependency(CoinUtils) +find_dependency(Clp) @@ -372,7 +361,7 @@ index e7dfbfd..c01910d 100644 +find_dependency(cereal) +find_dependency(Ceres) +find_dependency(vlfeat) -+ + # Build the absolute root install directory as a relative path get_filename_component(CURRENT_ROOT_INSTALL_DIR - ${CMAKE_MODULE_PATH}/../../../ ABSOLUTE) @@ -476,10 +465,10 @@ index cd800b0..20e9c8e 100644 #ifdef OPENMVG_USE_OPENMP #pragma omp parallel for private(descr, descriptor) diff --git a/src/openMVG/linearProgramming/CMakeLists.txt b/src/openMVG/linearProgramming/CMakeLists.txt -index cc5212f..acc57dd 100644 +index cc5212f..bfb28bd 100644 --- a/src/openMVG/linearProgramming/CMakeLists.txt +++ b/src/openMVG/linearProgramming/CMakeLists.txt -@@ -15,16 +15,12 @@ target_link_libraries(openMVG_linearProgramming +@@ -15,16 +15,15 @@ target_link_libraries(openMVG_linearProgramming PUBLIC openMVG_numeric PRIVATE @@ -492,18 +481,20 @@ index cc5212f..acc57dd 100644 ) target_include_directories(openMVG_linearProgramming -- PRIVATE + PRIVATE - ${CLP_INCLUDE_DIRS} - ${COINUTILS_INCLUDE_DIRS} - ${OSI_INCLUDE_DIRS} ++ PUBLIC ++ $ PUBLIC $ ) diff --git a/src/openMVG/matching/CMakeLists.txt b/src/openMVG/matching/CMakeLists.txt -index 5fcd972..b21ea7b 100644 +index 2e0eafd..be0006f 100644 --- a/src/openMVG/matching/CMakeLists.txt +++ b/src/openMVG/matching/CMakeLists.txt -@@ -18,6 +18,7 @@ list(REMOVE_ITEM matching_files_cpp ${REMOVEFILESUNITTEST}) +@@ -16,6 +16,7 @@ list(REMOVE_ITEM matching_files_cpp ${REMOVEFILESUNITTEST}) set(THREADS_PREFER_PTHREAD_FLAG ON) find_package(Threads REQUIRED) @@ -511,7 +502,7 @@ index 5fcd972..b21ea7b 100644 set_source_files_properties(${matching_files_cpp} PROPERTIES LANGUAGE CXX) add_library(openMVG_matching -@@ -39,10 +40,10 @@ target_link_libraries(openMVG_matching +@@ -37,10 +38,10 @@ target_link_libraries(openMVG_matching Threads::Threads cereal ) @@ -590,7 +581,7 @@ index 2f60393..0d57d0a 100644 # Installation rules diff --git a/src/software/SfM/CMakeLists.txt b/src/software/SfM/CMakeLists.txt -index 013a6c8..f38daa9 100644 +index 6db7e83..51e06f5 100644 --- a/src/software/SfM/CMakeLists.txt +++ b/src/software/SfM/CMakeLists.txt @@ -44,7 +44,7 @@ target_link_libraries(openMVG_main_ComputeFeatures @@ -602,7 +593,7 @@ index 013a6c8..f38daa9 100644 ) if (MSVC) set_target_properties(openMVG_main_ComputeFeatures PROPERTIES COMPILE_FLAGS "/bigobj") -@@ -235,7 +235,7 @@ if(OpenMVG_USE_OPENCV) +@@ -275,7 +275,7 @@ if(OpenMVG_USE_OPENCV) openMVG_multiview openMVG_sfm ${STLPLUS_LIBRARY} @@ -612,7 +603,7 @@ index 013a6c8..f38daa9 100644 target_include_directories(openMVG_main_ComputeFeatures_OpenCV PRIVATE ${OpenCV_INCLUDE_DIRS}) diff --git a/src/software/SfM/SfM_GlobalPipeline.py.in b/src/software/SfM/SfM_GlobalPipeline.py.in -index 42405a4..28b0246 100644 +index 42b41cc..7fda0cd 100644 --- a/src/software/SfM/SfM_GlobalPipeline.py.in +++ b/src/software/SfM/SfM_GlobalPipeline.py.in @@ -21,7 +21,7 @@ @@ -624,14 +615,8 @@ index 42405a4..28b0246 100644 import os import subprocess -@@ -77,5 +77,3 @@ pRecons.wait() - - pRecons = subprocess.Popen( [os.path.join(OPENMVG_SFM_BIN, "openMVG_main_ComputeSfM_DataColor"), "-i", reconstruction_dir+"/robust.bin", "-o", os.path.join(reconstruction_dir,"robust_colorized.ply")] ) - pRecons.wait() -- -- diff --git a/src/software/SfM/SfM_SequentialPipeline.py.in b/src/software/SfM/SfM_SequentialPipeline.py.in -index 9a5a482..e804a19 100644 +index 423c85c..0ff2e77 100644 --- a/src/software/SfM/SfM_SequentialPipeline.py.in +++ b/src/software/SfM/SfM_SequentialPipeline.py.in @@ -21,7 +21,7 @@ @@ -643,27 +628,8 @@ index 9a5a482..e804a19 100644 import os import subprocess -@@ -77,5 +77,3 @@ pRecons.wait() - - pRecons = subprocess.Popen( [os.path.join(OPENMVG_SFM_BIN, "openMVG_main_ComputeSfM_DataColor"), "-i", reconstruction_dir+"/robust.bin", "-o", os.path.join(reconstruction_dir,"robust_colorized.ply")] ) - pRecons.wait() -- -- -diff --git a/src/software/SfM/main_ComputeFeatures_OpenCV.cpp b/src/software/SfM/main_ComputeFeatures_OpenCV.cpp -index 9cc46af..f8bd892 100644 ---- a/src/software/SfM/main_ComputeFeatures_OpenCV.cpp -+++ b/src/software/SfM/main_ComputeFeatures_OpenCV.cpp -@@ -208,7 +208,7 @@ public: - // Create a SIFT detector - std::vector< cv::KeyPoint > v_keypoints; - cv::Mat m_desc; -- cv::Ptr siftdetector = cv::xfeatures2d::SIFT::create(); -+ cv::Ptr siftdetector = cv::SIFT::create(); - - // Process SIFT computation - siftdetector->detectAndCompute(img, m_mask, v_keypoints, m_desc); diff --git a/src/software/SfM/tutorial_demo.py.in b/src/software/SfM/tutorial_demo.py.in -index 259e24e..1097062 100644 +index c7361f3..1c56aab 100644 --- a/src/software/SfM/tutorial_demo.py.in +++ b/src/software/SfM/tutorial_demo.py.in @@ -12,7 +12,7 @@ @@ -675,12 +641,6 @@ index 259e24e..1097062 100644 import os import subprocess -@@ -89,5 +89,3 @@ pRecons.wait() - print ("4. Structure from Known Poses (robust triangulation)") - pRecons = subprocess.Popen( [os.path.join(OPENMVG_SFM_BIN, "openMVG_main_ComputeStructureFromKnownPoses"), "-i", reconstruction_dir+"/sfm_data.bin", "-m", matches_dir, "-o", os.path.join(reconstruction_dir,"robust.ply")] ) - pRecons.wait() -- -- diff --git a/src/software/VO/Tracker_opencv_klt.hpp b/src/software/VO/Tracker_opencv_klt.hpp index aa7dffe..2c4d237 100644 --- a/src/software/VO/Tracker_opencv_klt.hpp @@ -695,7 +655,7 @@ index aa7dffe..2c4d237 100644 m_detector->detect(current_img, m_nextKeypoints); diff --git a/src/third_party/CMakeLists.txt b/src/third_party/CMakeLists.txt -index b71dfab..ad98e51 100644 +index 0d61c9f..05c8b29 100644 --- a/src/third_party/CMakeLists.txt +++ b/src/third_party/CMakeLists.txt @@ -18,7 +18,7 @@ add_subdirectory(stlplus3) @@ -705,9 +665,9 @@ index b71dfab..ad98e51 100644 -if(DEFINED OpenMVG_USE_INTERNAL_LEMON) +if(OpenMVG_USE_INTERNAL_LEMON) add_subdirectory(lemon) - set_property(TARGET openMVG_lemon PROPERTY FOLDER OpenMVG/3rdParty/lemon) - set_property(TARGET check PROPERTY FOLDER OpenMVG/3rdParty/lemon) -@@ -68,7 +68,7 @@ endif (NOT TIFF_FOUND) + set(LEMON_LIBRARY openMVG_lemon PARENT_SCOPE) + endif() +@@ -67,7 +67,7 @@ endif (NOT TIFF_FOUND) add_subdirectory(vectorGraphics) # Add ceres-solver (A Nonlinear Least Squares Minimizer) @@ -716,7 +676,7 @@ index b71dfab..ad98e51 100644 add_subdirectory(cxsparse) add_subdirectory(ceres-solver) set_property(TARGET openMVG_cxsparse PROPERTY FOLDER OpenMVG/3rdParty/ceres) -@@ -76,7 +76,7 @@ if (DEFINED OpenMVG_USE_INTERNAL_CERES) +@@ -75,7 +75,7 @@ if (DEFINED OpenMVG_USE_INTERNAL_CERES) endif() # Add an Approximate Nearest Neighbor library @@ -725,12 +685,12 @@ index b71dfab..ad98e51 100644 set(FLANN_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include/openMVG/third_party/flann/src/cpp) add_subdirectory(flann) endif() -@@ -90,7 +90,7 @@ add_subdirectory(fast) +@@ -89,7 +89,7 @@ add_subdirectory(fast) ## # Install Header only libraries if necessary ## -if (DEFINED OpenMVG_USE_INTERNAL_EIGEN) +if (OpenMVG_USE_INTERNAL_EIGEN) #Configure Eigen install - set(EIGEN_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include/openMVG/third_party/eigen) + set(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include/openMVG/third_party/eigen) add_subdirectory(eigen) diff --git a/ports/openmvg/portfile.cmake b/ports/openmvg/portfile.cmake index 421bddeb83eb60..69e3c04df02f08 100644 --- a/ports/openmvg/portfile.cmake +++ b/ports/openmvg/portfile.cmake @@ -13,7 +13,7 @@ vcpkg_from_github( REF d0fe73dd426ae4001631a51272cff71047522df9 # v2.0 SHA512 1d5c68971ad63ced46d8b9070bdacc1065b4ba950fe919e11f952a004def87d4d83a474d48aee714c21b12106d7d81187d3670d8a2e6daf2d3c5fceb008a5de3 PATCHES - fix-build.patch + build_fixes.patch 0001-eigen_3.4.0.patch ) From 20b1ca8642ee0b7ca71e0a7aace069395c72ad35 Mon Sep 17 00:00:00 2001 From: Frank xie Date: Tue, 23 Nov 2021 21:51:22 -0800 Subject: [PATCH 05/15] update version --- versions/o-/openmvg.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/o-/openmvg.json b/versions/o-/openmvg.json index 6e5474246aae70..497c61d6ffadf5 100644 --- a/versions/o-/openmvg.json +++ b/versions/o-/openmvg.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "fbc654f3aaccf737a79f6cdcc19c368f70c3b03f", + "git-tree": "4edbc20a42162a704c72a72397c35540f3a09b3c", "version": "2.0", "port-version": 0 }, From 6154bfe5dc68443e02f22c5abe1b4e45ee134ab3 Mon Sep 17 00:00:00 2001 From: Frank xie Date: Tue, 23 Nov 2021 21:55:42 -0800 Subject: [PATCH 06/15] 0001-eigen_3.4.0.patch --- ports/openmvg/0001-eigen_3.4.0.patch | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/ports/openmvg/0001-eigen_3.4.0.patch b/ports/openmvg/0001-eigen_3.4.0.patch index d7d02bf67fe6b3..a4e759f52ebb36 100644 --- a/ports/openmvg/0001-eigen_3.4.0.patch +++ b/ports/openmvg/0001-eigen_3.4.0.patch @@ -1,13 +1,13 @@ -diff --git a/src/openMVG/multiview/solver_fundamental_kernel.cpp b/src/openMVG/multiview/solver_fundamental_kernel.cpp -index 2ffd45a..bbf74b4 100644 ---- a/src/openMVG/multiview/solver_fundamental_kernel.cpp -+++ b/src/openMVG/multiview/solver_fundamental_kernel.cpp -@@ -110,7 +110,7 @@ void EightPointSolver::Solve - x2.colwise().homogeneous(), - &epipolar_constraint); - // Find the F matrice in the nullspace of epipolar_constraint. -- Eigen::SelfAdjointEigenSolver solver -+ Eigen::SelfAdjointEigenSolver> solver - (epipolar_constraint.transpose() * epipolar_constraint); - f = solver.eigenvectors().leftCols<1>(); - +diff --git a/src/openMVG/multiview/solver_fundamental_kernel.cpp b/src/openMVG/multiview/solver_fundamental_kernel.cpp +index 2ffd45a..bbf74b4 100644 +--- a/src/openMVG/multiview/solver_fundamental_kernel.cpp ++++ b/src/openMVG/multiview/solver_fundamental_kernel.cpp +@@ -110,7 +110,7 @@ void EightPointSolver::Solve + x2.colwise().homogeneous(), + &epipolar_constraint); + // Find the F matrice in the nullspace of epipolar_constraint. +- Eigen::SelfAdjointEigenSolver solver ++ Eigen::SelfAdjointEigenSolver> solver + (epipolar_constraint.transpose() * epipolar_constraint); + f = solver.eigenvectors().leftCols<1>(); + From d2cfd02937ef7727e70dda416612fef84ad2960e Mon Sep 17 00:00:00 2001 From: Frank xie Date: Tue, 23 Nov 2021 21:57:07 -0800 Subject: [PATCH 07/15] update version --- versions/o-/openmvg.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/o-/openmvg.json b/versions/o-/openmvg.json index 497c61d6ffadf5..a2bf886be32feb 100644 --- a/versions/o-/openmvg.json +++ b/versions/o-/openmvg.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "4edbc20a42162a704c72a72397c35540f3a09b3c", + "git-tree": "f10c72ab59e2d6c68675c01a026c400887d065a7", "version": "2.0", "port-version": 0 }, From 9e76a326a56aa904a5429f32dd7d8b642ee15f33 Mon Sep 17 00:00:00 2001 From: Frank xie Date: Wed, 24 Nov 2021 00:01:17 -0800 Subject: [PATCH 08/15] remove tool 'openmvg_main_GlobalSFM' --- ports/openmvg/portfile.cmake | 1 - 1 file changed, 1 deletion(-) diff --git a/ports/openmvg/portfile.cmake b/ports/openmvg/portfile.cmake index 69e3c04df02f08..93c533c178c9c2 100644 --- a/ports/openmvg/portfile.cmake +++ b/ports/openmvg/portfile.cmake @@ -134,7 +134,6 @@ if("software" IN_LIST FEATURES) openMVG_main_ExportUndistortedImages openMVG_main_FrustumFiltering openMVG_main_geodesy_registration_to_gps_position - openMVG_main_GlobalSfM openMVG_main_IncrementalSfM openMVG_main_IncrementalSfM2 openMVG_main_ListMatchingPairs From 500cfcc6da9c6e6c3a849a0b4a4fec7113da1e24 Mon Sep 17 00:00:00 2001 From: Frank xie Date: Wed, 24 Nov 2021 00:02:26 -0800 Subject: [PATCH 09/15] update version --- versions/o-/openmvg.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/o-/openmvg.json b/versions/o-/openmvg.json index a2bf886be32feb..407a21e56cab3a 100644 --- a/versions/o-/openmvg.json +++ b/versions/o-/openmvg.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "f10c72ab59e2d6c68675c01a026c400887d065a7", + "git-tree": "4d0081aa02f7177704f2fa5403161bf6ecd9959e", "version": "2.0", "port-version": 0 }, From 4a61a0c0b2f8ec8f2a4580be365dcb2fa548136b Mon Sep 17 00:00:00 2001 From: Frank xie Date: Wed, 24 Nov 2021 01:36:21 -0800 Subject: [PATCH 10/15] update --- ports/openmvg/portfile.cmake | 1 - 1 file changed, 1 deletion(-) diff --git a/ports/openmvg/portfile.cmake b/ports/openmvg/portfile.cmake index 93c533c178c9c2..0755f02612a1a1 100644 --- a/ports/openmvg/portfile.cmake +++ b/ports/openmvg/portfile.cmake @@ -134,7 +134,6 @@ if("software" IN_LIST FEATURES) openMVG_main_ExportUndistortedImages openMVG_main_FrustumFiltering openMVG_main_geodesy_registration_to_gps_position - openMVG_main_IncrementalSfM openMVG_main_IncrementalSfM2 openMVG_main_ListMatchingPairs openMVG_main_MatchesToTracks From 5408cc430ead6abcfc08c556149ebabd42304d14 Mon Sep 17 00:00:00 2001 From: Frank xie Date: Wed, 24 Nov 2021 01:38:18 -0800 Subject: [PATCH 11/15] version --- versions/o-/openmvg.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/o-/openmvg.json b/versions/o-/openmvg.json index 407a21e56cab3a..97ea21d546456b 100644 --- a/versions/o-/openmvg.json +++ b/versions/o-/openmvg.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "4d0081aa02f7177704f2fa5403161bf6ecd9959e", + "git-tree": "61be7a6ad11b3e508e520c4c8e355d56c290b25c", "version": "2.0", "port-version": 0 }, From 539de24950e365154a9bb25f49e004cde97cd330 Mon Sep 17 00:00:00 2001 From: Frank xie Date: Thu, 25 Nov 2021 02:16:14 -0800 Subject: [PATCH 12/15] update vcpkg_copy_tool --- ports/openmvg/portfile.cmake | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ports/openmvg/portfile.cmake b/ports/openmvg/portfile.cmake index 0755f02612a1a1..6bf8879b68e207 100644 --- a/ports/openmvg/portfile.cmake +++ b/ports/openmvg/portfile.cmake @@ -94,7 +94,7 @@ if(OpenMVG_BUILD_SHARED) if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") # debug file(GLOB DLL_FILES "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll") - file(COPY "${DLL_FILES"} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + file(COPY "${DLL_FILES}" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") file(REMOVE_RECURSE "${DLL_FILES}") endif() endif() @@ -134,7 +134,6 @@ if("software" IN_LIST FEATURES) openMVG_main_ExportUndistortedImages openMVG_main_FrustumFiltering openMVG_main_geodesy_registration_to_gps_position - openMVG_main_IncrementalSfM2 openMVG_main_ListMatchingPairs openMVG_main_MatchesToTracks openMVG_main_openMVG2Agisoft @@ -154,6 +153,9 @@ if("software" IN_LIST FEATURES) openMVG_main_SfM_Localization openMVG_main_SplitMatchFileIntoMatchFiles ui_openMVG_control_points_registration + openMVG_main_GeometricFilter + openMVG_main_PairGenerator + openMVG_main_SfM ) if("opencv" IN_LIST FEATURES) vcpkg_copy_tools(AUTO_CLEAN TOOL_NAMES From 6ea8a3003d580b594063a80afad8c3648ac62f2d Mon Sep 17 00:00:00 2001 From: Frank xie Date: Thu, 25 Nov 2021 02:17:14 -0800 Subject: [PATCH 13/15] update version --- versions/o-/openmvg.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/o-/openmvg.json b/versions/o-/openmvg.json index 97ea21d546456b..ced1b4973d2d1d 100644 --- a/versions/o-/openmvg.json +++ b/versions/o-/openmvg.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "61be7a6ad11b3e508e520c4c8e355d56c290b25c", + "git-tree": "ac0598216d96b4a08e652930a31d98ace43fdef0", "version": "2.0", "port-version": 0 }, From 05e58ca0c833502bfa9794eab23d1bead6282906 Mon Sep 17 00:00:00 2001 From: Frank xie Date: Thu, 25 Nov 2021 17:45:23 -0800 Subject: [PATCH 14/15] delete the fix-build.patch --- ports/openmvg/fix-build.patch | 696 ---------------------------------- 1 file changed, 696 deletions(-) delete mode 100644 ports/openmvg/fix-build.patch diff --git a/ports/openmvg/fix-build.patch b/ports/openmvg/fix-build.patch deleted file mode 100644 index d157936139fd51..00000000000000 --- a/ports/openmvg/fix-build.patch +++ /dev/null @@ -1,696 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 5d909ec..14926fd 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -20,6 +20,7 @@ if (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) - message(FATAL_ERROR "In-source builds not allowed.") - endif() - -+if(0) - # ============================================================================== - # OpenMVG build options - # ============================================================================== -@@ -38,6 +39,7 @@ option(OpenMVG_USE_OPENMP "Enable OpenMP parallelization" ON) - # ============================================================================== - option(OpenMVG_USE_OPENCV "Build or not opencv+openMVG samples programs" OFF) - -+endif() - # ============================================================================== - # Since OpenCV 3, SIFT is no longer in the default modules. See - # https://github.com/itseez/opencv_contrib for more informations. -@@ -95,6 +97,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") - register_definitions(-DOPENMVG_STD_UNORDERED_MAP) - endif() - -+if(0) - # ============================================================================== - # Check that submodule have been initialized and updated - # ============================================================================== -@@ -103,6 +106,7 @@ if (NOT EXISTS ${PROJECT_SOURCE_DIR}/dependencies/cereal/include) - "\n submodule(s) are missing, please update your repository:\n" - " > git submodule update -i\n") - endif() -+endif() - - # ============================================================================== - # Additional cmake find modules -@@ -138,7 +142,7 @@ if (OpenMVG_USE_OPENMP) - find_package(OpenMP) - if (OPENMP_FOUND) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") -- option(OpenMVG_USE_OPENMP "Use OpenMP for parallelization" ON) -+ - register_definitions(-DOPENMVG_USE_OPENMP) - if (NOT MSVC) - if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") -@@ -149,11 +153,7 @@ if (OpenMVG_USE_OPENMP) - endif() - endif (NOT MSVC) - endif (OPENMP_FOUND) --else (OpenMVG_USE_OPENMP) -- option(OpenMVG_USE_OPENMP "Use OpenMP for parallelization" OFF) -- include(UpdateCacheVariable) -- UPDATE_CACHE_VARIABLE(OpenMVG_USE_OPENMP OFF) -- remove_definitions(-DOPENMVG_USE_OPENMP) -+ - endif (OpenMVG_USE_OPENMP) - - # ============================================================================== -@@ -170,10 +170,10 @@ endif() - # ============================================================================== - # IMAGE IO detection - # ============================================================================== --find_package(JPEG QUIET) --find_package(PNG QUIET) --find_package(TIFF QUIET) -- -+find_package(JPEG REQUIRED) -+find_package(PNG REQUIRED) -+find_package(TIFF REQUIRED) -+find_package(vlfeat REQUIRED) - # Folders - set_property(GLOBAL PROPERTY USE_FOLDERS ON) - -@@ -192,6 +192,7 @@ if (OpenMVG_BUILD_OPENGL_EXAMPLES) - set_property(TARGET glfw PROPERTY FOLDER OpenMVG/3rdParty/glfw) - endif (OpenMVG_BUILD_OPENGL_EXAMPLES) - -+if(0) - # Dependencies install rules - install( - DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/ -@@ -200,6 +201,7 @@ install( - FILES_MATCHING PATTERN "*.hpp" PATTERN "*.h" - ) - -+endif() - # ============================================================================== - # --END-- SUBMODULE CONFIGURATION - # ============================================================================== -@@ -235,6 +237,7 @@ ENDMACRO(UNIT_TEST) - # - external by default - # - internal if cereal not found - # ============================================================================== -+if(0) - find_package(cereal QUIET CONFIG) - if (NOT TARGET cereal) - add_library(cereal INTERFACE) -@@ -247,6 +250,10 @@ if (NOT TARGET cereal) - - set(OpenMVG_USE_INTERNAL_CEREAL ON) - endif() -+endif() -+ -+find_package(cereal REQUIRED CONFIG) -+get_target_property(CEREAL_INCLUDE_DIRS cereal INTERFACE_INCLUDE_DIRECTORIES) - - # ============================================================================== - # Eigen -@@ -255,6 +262,7 @@ endif() - # - external if EIGEN_INCLUDE_DIR_HINTS is defined - # - internal if Eigen not found - # ============================================================================== -+if(0) - find_package(Eigen3 QUIET) - if (NOT Eigen3_FOUND) - set(EIGEN_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/eigen) -@@ -263,13 +271,17 @@ if (NOT Eigen3_FOUND) - else() - set(EIGEN_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR}) - endif() -- -+endif() -+ -+find_package(Eigen3 REQUIRED) -+set(EIGEN_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR}) - # ============================================================================== - # Ceres - # ============================================================================== - # - external by default if CERES_DIR_HINTS or find_package found a valid Ceres - # - internal if ceres not found (ceres-solver+cxsparse+miniglog) - # ============================================================================== -+if(0) - find_package(Ceres QUIET HINTS ${CERES_DIR_HINTS}) - if (NOT Ceres_FOUND) - set(OpenMVG_USE_INTERNAL_CERES ON) -@@ -281,13 +293,16 @@ if (NOT Ceres_FOUND) - STRING(REGEX REPLACE "version ([0-9.]+).*" "\\1" CERES_VERSION ${CERES_CONFIG}) - set(CERES_LIBRARIES openMVG_ceres) - endif() -- -+endif() -+ -+find_package(Ceres REQUIRED) - # ============================================================================== - # Flann - # ============================================================================== - # - internal by default (flann), - # - external if FLANN_INCLUDE_DIR_HINTS and a valid Flann setup is found - # ============================================================================== -+if(0) - if (NOT DEFINED FLANN_INCLUDE_DIR_HINTS) - set(FLANN_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/flann/src/cpp) - set(OpenMVG_USE_INTERNAL_FLANN ON) -@@ -296,13 +311,16 @@ find_package(Flann QUIET) - if (NOT FLANN_FOUND OR OpenMVG_USE_INTERNAL_FLANN) - set(FLANN_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/flann/src/cpp) - endif() -- -+endif() -+ -+find_package(flann REQUIRED) - # ============================================================================== - # CoinUtils - # ============================================================================== - # - internal by default (CoinUtils), - # - external if COINUTILS_INCLUDE_DIR_HINTS and a valid CoinUtils setup is found - # ============================================================================== -+if(0) - if (NOT DEFINED COINUTILS_INCLUDE_DIR_HINTS) - set(COINUTILS_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/CoinUtils/src/) - set(OpenMVG_USE_INTERNAL_COINUTILS ON) -@@ -312,13 +330,16 @@ if (NOT DEFINED COINUTILS_INCLUDE_DIR_HINTS) - else() - find_package(CoinUtils QUIET) - endif() -- -+endif() -+ -+find_package(CoinUtils REQUIRED) - ## ============================================================================== - ## Clp - ## ============================================================================== - ## - internal by default (Clp), - ## - external if CLP_INCLUDE_DIR_HINTS and a valid Clp setup is found - ## ============================================================================== -+if(0) - if (NOT DEFINED CLP_INCLUDE_DIR_HINTS) - set(CLP_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/Clp/src/) - set(OpenMVG_USE_INTERNAL_CLP ON) -@@ -330,13 +351,16 @@ if (NOT DEFINED CLP_INCLUDE_DIR_HINTS) - else() - find_package(Clp QUIET) - endif() -+endif() - -+find_package(Clp REQUIRED) - # ============================================================================== - # Osi - # ============================================================================== - # - internal by default (Osi), - # - external if OSI_INCLUDE_DIR_HINTS and a valid Osi setup is found - # ============================================================================== -+if(0) - if (NOT DEFINED OSI_INCLUDE_DIR_HINTS) - set(OSI_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/Osi/src/) - set(OpenMVG_USE_INTERNAL_OSI ON) -@@ -346,6 +370,9 @@ if (NOT DEFINED OSI_INCLUDE_DIR_HINTS) - else() - find_package(Osi QUIET) - endif() -+endif() -+ -+find_package(Osi REQUIRED) - - # ============================================================================== - # Internal CLP/OSI/COINUTILS libraries: -@@ -364,6 +391,7 @@ endif() - # - internal by default (Lemon), - # - external if LEMON_INCLUDE_DIR_HINTS and a valid Lemon setup is found - # ============================================================================== -+if(0) - 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) -@@ -374,6 +402,9 @@ if (NOT LEMON_FOUND OR OpenMVG_USE_INTERNAL_LEMON) - ${CMAKE_CURRENT_SOURCE_DIR}/third_party/lemon - ${PROJECT_BINARY_DIR}/third_party/lemon) - endif() -+endif() -+ -+find_package(LEMON REQUIRED) - - # ============================================================================== - # OpenCV -@@ -381,12 +412,7 @@ endif() - # - only external and enabled only if OpenMVG_USE_OPENCV is set to ON - # ============================================================================== - if (OpenMVG_USE_OPENCV) -- find_package( OpenCV QUIET ) -- if (NOT OpenCV_FOUND OR OpenCV_VERSION VERSION_LESS "3.0.0") -- message(STATUS "OpenCV was not found (note that OpenCV version >= 3.0.0 is required). -> Disabling OpenCV support.") -- UPDATE_CACHE_VARIABLE(OpenMVG_USE_OPENCV OFF) -- UPDATE_CACHE_VARIABLE(OpenMVG_USE_OCVSIFT OFF) -- endif() -+ find_package( OpenCV REQUIRED ) - endif() - - -@@ -394,7 +420,7 @@ endif() - # Third-party libraries: - # ============================================================================== - add_subdirectory(third_party) --add_subdirectory(testing) -+ - - # ============================================================================== - # openMVG modules -@@ -481,67 +507,67 @@ message("** Use OpenCV SIFT features: " ${OpenMVG_USE_OCVSIFT}) - - message("\n") - --if (DEFINED OpenMVG_USE_INTERNAL_CEREAL) -+if (OpenMVG_USE_INTERNAL_CEREAL) - message(STATUS "CEREAL: (internal)") - else() - message(STATUS "CEREAL: (external)") - endif() - --if (DEFINED OpenMVG_USE_INTERNAL_EIGEN) -+if (OpenMVG_USE_INTERNAL_EIGEN) - message(STATUS "EIGEN: " ${EIGEN_VERSION} " (internal)") - else() - message(STATUS "EIGEN: " ${EIGEN_VERSION} " (external)") - endif() - --if (DEFINED OpenMVG_USE_INTERNAL_CERES) -+if (OpenMVG_USE_INTERNAL_CERES) - message(STATUS "CERES: " ${CERES_VERSION} " (internal)") - else() - message(STATUS "CERES: " ${CERES_VERSION} " (external)") - endif() - --if (DEFINED OpenMVG_USE_INTERNAL_FLANN) -+if (OpenMVG_USE_INTERNAL_FLANN) - message(STATUS "FLANN: " ${FLANN_VERSION} " (internal)") - else() - message(STATUS "FLANN: " ${FLANN_VERSION} " (external)") - endif() - --if (DEFINED OpenMVG_USE_INTERNAL_TIFF) -+if (OpenMVG_USE_INTERNAL_TIFF) - message(STATUS "LIBTIFF: " ${TIFF_VERSION_STRING} " (internal)") - else() - message(STATUS "LIBTIFF: " ${TIFF_VERSION_STRING} " (external)") - endif() - --if (DEFINED OpenMVG_USE_INTERNAL_PNG) -+if (OpenMVG_USE_INTERNAL_PNG) - message(STATUS "LIBPNG: " ${PNG_VERSION_STRING} " (internal)") - else() - message(STATUS "LIBPNG: " ${PNG_VERSION_STRING} " (external)") - endif() - --if (DEFINED OpenMVG_USE_INTERNAL_JPEG) -+if (OpenMVG_USE_INTERNAL_JPEG) - message(STATUS "LIBJPEG (internal)") - else() - message(STATUS "LIBJPEG (external)") - endif() - --if (DEFINED OpenMVG_USE_INTERNAL_CLP) -+if (OpenMVG_USE_INTERNAL_CLP) - message(STATUS "CLP: " ${CLP_VERSION} " (internal)") - else() - message(STATUS "CLP: " ${CLP_VERSION} " (external)") - endif() - --if (DEFINED OpenMVG_USE_INTERNAL_COINUTILS) -+if (OpenMVG_USE_INTERNAL_COINUTILS) - message(STATUS "COINUTILS: " ${COINUTILS_VERSION} " (internal)") - else() - message(STATUS "COINUTILS: " ${COINUTILS_VERSION} " (external)") - endif() - --if (DEFINED OpenMVG_USE_INTERNAL_OSI) -+if (OpenMVG_USE_INTERNAL_OSI) - message(STATUS "OSI: " ${OSI_VERSION} " (internal)") - else() - message(STATUS "OSI: " ${OSI_VERSION} " (external)") - endif() - --if (DEFINED OpenMVG_USE_INTERNAL_LEMON) -+if (OpenMVG_USE_INTERNAL_LEMON) - message(STATUS "LEMON: " ${LEMON_VERSION} " (internal)") - else() - message(STATUS "LEMON: " ${LEMON_VERSION} " (external)") -diff --git a/src/cmakeFindModules/OpenMVGConfig.cmake.in b/src/cmakeFindModules/OpenMVGConfig.cmake.in -index e7dfbfd..310dd36 100644 ---- a/src/cmakeFindModules/OpenMVGConfig.cmake.in -+++ b/src/cmakeFindModules/OpenMVGConfig.cmake.in -@@ -19,7 +19,7 @@ - # OPENMVG_VERSION: Version of OpenMVG found. - # - --# Called if we failed to find OpenMVG or any of it's required dependencies, -+# Called if we failed to find OpenMVG or any of its required dependencies, - # unsets all public (designed to be used externally) variables and reports - # error message at priority depending upon [REQUIRED/QUIET/] argument. - macro(OPENMVG_REPORT_NOT_FOUND REASON_MSG) -@@ -58,10 +58,20 @@ set(CALLERS_CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}) - # Reset CMake module path to the installation directory of this - # script. - set(CMAKE_MODULE_PATH ${CURRENT_CONFIG_INSTALL_DIR}) -+ -+include(CMakeFindDependencyMacro) -+find_dependency(CoinUtils) -+find_dependency(Clp) -+find_dependency(Osi) -+find_dependency(flann) -+find_dependency(Threads) -+find_dependency(cereal) -+find_dependency(Ceres) -+find_dependency(vlfeat) - - # Build the absolute root install directory as a relative path - get_filename_component(CURRENT_ROOT_INSTALL_DIR -- ${CMAKE_MODULE_PATH}/../../../ ABSOLUTE) -+ ${CMAKE_MODULE_PATH}/../../ ABSOLUTE) - if (NOT EXISTS ${CURRENT_ROOT_INSTALL_DIR}) - OPENMVG_REPORT_NOT_FOUND( - "OpenMVG install root: ${CURRENT_ROOT_INSTALL_DIR}, " -diff --git a/src/nonFree/sift/CMakeLists.txt b/src/nonFree/sift/CMakeLists.txt -index 402a2d8..60ddc11 100644 ---- a/src/nonFree/sift/CMakeLists.txt -+++ b/src/nonFree/sift/CMakeLists.txt -@@ -1,36 +1,36 @@ - --# libs should be static --set(BUILD_SHARED_LIBS OFF) -- --# use PIC code for link into shared lib --if(UNIX) -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC") --endif(UNIX) -- --if(NOT USE_SSE2) -- add_definitions(-DVL_DISABLE_SSE2) --endif() -- --add_definitions(-DVL_DISABLE_THREADS) -- --include_directories(./vl) --set(FEATS -- vl/generic.c -- vl/imopv_sse2.c -- vl/sift.c -- vl/imopv.c -- vl/mathop_sse2.c -- vl/sift.c -- vl/host.c -- vl/mathop.c -- vl/random.c) --set_source_files_properties(${FEATS} PROPERTIES LANGUAGE C) --add_library(vlsift ${FEATS}) --install(TARGETS vlsift DESTINATION lib EXPORT openMVG-targets) --set_property(TARGET vlsift PROPERTY FOLDER OpenMVG/nonFree) -+## libs should be static -+#set(BUILD_SHARED_LIBS OFF) -+# -+## use PIC code for link into shared lib -+#if(UNIX) -+# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC") -+#endif(UNIX) -+# -+#if(NOT USE_SSE2) -+# add_definitions(-DVL_DISABLE_SSE2) -+#endif() -+# -+#add_definitions(-DVL_DISABLE_THREADS) -+# -+#include_directories(./vl) -+#set(FEATS -+# vl/generic.c -+# vl/imopv_sse2.c -+# vl/sift.c -+# vl/imopv.c -+# vl/mathop_sse2.c -+# vl/sift.c -+# vl/host.c -+# vl/mathop.c -+# vl/random.c) -+#set_source_files_properties(${FEATS} PROPERTIES LANGUAGE C) -+#add_library(vlsift ${FEATS}) -+#install(TARGETS vlsift DESTINATION lib EXPORT openMVG-targets) -+#set_property(TARGET vlsift PROPERTY FOLDER OpenMVG/nonFree) - install( - DIRECTORY . - DESTINATION include/openMVG_dependencies/nonFree/sift - COMPONENT headers -- FILES_MATCHING PATTERN "*.hpp" PATTERN "*.h" -+ FILES_MATCHING PATTERN "*.hpp" - ) -diff --git a/src/nonFree/sift/SIFT_describer.hpp b/src/nonFree/sift/SIFT_describer.hpp -index cd800b0..20e9c8e 100644 ---- a/src/nonFree/sift/SIFT_describer.hpp -+++ b/src/nonFree/sift/SIFT_describer.hpp -@@ -17,9 +17,7 @@ - #include - #include - --extern "C" { --#include "nonFree/sift/vl/sift.h" --} -+#include - - namespace openMVG { - namespace features { -@@ -174,7 +172,7 @@ public: - const int nkeys = vl_sift_get_nkeypoints(filt); - - // Update gradient before launching parallel extraction -- vl_sift_update_gradient(filt); -+ update_gradient(filt); - - #ifdef OPENMVG_USE_OPENMP - #pragma omp parallel for private(descr, descriptor) -diff --git a/src/openMVG/linearProgramming/CMakeLists.txt b/src/openMVG/linearProgramming/CMakeLists.txt -index cc5212f..bfb28bd 100644 ---- a/src/openMVG/linearProgramming/CMakeLists.txt -+++ b/src/openMVG/linearProgramming/CMakeLists.txt -@@ -15,16 +15,15 @@ target_link_libraries(openMVG_linearProgramming - PUBLIC - openMVG_numeric - PRIVATE -- ${CLP_LIBRARIES} # clp + solver wrapper -- ${COINUTILS_LIBRARY} # container tools -- ${OSI_LIBRARY} # generic LP -+ Coin::Clp # clp + solver wrapper -+ Coin::CoinUtils # container tools -+ Coin::Osi # generic LP - ) - - target_include_directories(openMVG_linearProgramming - PRIVATE -- ${CLP_INCLUDE_DIRS} -- ${COINUTILS_INCLUDE_DIRS} -- ${OSI_INCLUDE_DIRS} -+ PUBLIC -+ $ - PUBLIC - $ - ) -diff --git a/src/openMVG/matching/CMakeLists.txt b/src/openMVG/matching/CMakeLists.txt -index 2e0eafd..be0006f 100644 ---- a/src/openMVG/matching/CMakeLists.txt -+++ b/src/openMVG/matching/CMakeLists.txt -@@ -16,6 +16,7 @@ list(REMOVE_ITEM matching_files_cpp ${REMOVEFILESUNITTEST}) - - set(THREADS_PREFER_PTHREAD_FLAG ON) - find_package(Threads REQUIRED) -+find_package(flann CONFIG REQUIRED) - - set_source_files_properties(${matching_files_cpp} PROPERTIES LANGUAGE CXX) - add_library(openMVG_matching -@@ -37,10 +38,10 @@ target_link_libraries(openMVG_matching - Threads::Threads - cereal - ) --if (NOT DEFINED OpenMVG_USE_INTERNAL_FLANN) -+if (NOT OpenMVG_USE_INTERNAL_FLANN) - target_link_libraries(openMVG_matching - PUBLIC -- ${FLANN_LIBRARIES} -+ $,flann::flann_s,flann::flann> - ) - endif() - set_target_properties(openMVG_matching PROPERTIES SOVERSION ${OPENMVG_VERSION_MAJOR} VERSION "${OPENMVG_VERSION_MAJOR}.${OPENMVG_VERSION_MINOR}") -diff --git a/src/openMVG/numeric/CMakeLists.txt b/src/openMVG/numeric/CMakeLists.txt -index 1f3fc30..4097320 100644 ---- a/src/openMVG/numeric/CMakeLists.txt -+++ b/src/openMVG/numeric/CMakeLists.txt -@@ -26,7 +26,7 @@ target_include_directories(openMVG_numeric - $ - $ - ) --if (DEFINED OpenMVG_USE_INTERNAL_EIGEN) -+if (OpenMVG_USE_INTERNAL_EIGEN) - target_include_directories(openMVG_numeric PUBLIC - $) - else() -diff --git a/src/openMVG_Samples/describe_and_match_GUI/CMakeLists.txt b/src/openMVG_Samples/describe_and_match_GUI/CMakeLists.txt -index 862ffc7..326fc9a 100644 ---- a/src/openMVG_Samples/describe_and_match_GUI/CMakeLists.txt -+++ b/src/openMVG_Samples/describe_and_match_GUI/CMakeLists.txt -@@ -18,7 +18,7 @@ if (OpenMVG_BUILD_GUI_SOFTWARES) - add_executable( openMVG_sample_describe_and_match_GUI WIN32 ${FEATURES_PAIR_DEMO_SRCS} ${FEATURES_PAIR_DEMO_HDRS} ) - endif( APPLE ) - -- target_link_libraries( openMVG_sample_describe_and_match_GUI Qt5::Widgets openMVG_features openMVG_image openMVG_matching vlsift ) -+ target_link_libraries( openMVG_sample_describe_and_match_GUI Qt5::Widgets openMVG_features openMVG_image openMVG_matching unofficial::vlfeat::vl ) - - set_target_properties( openMVG_sample_describe_and_match_GUI PROPERTIES CXX_STANDARD 11) - -diff --git a/src/openMVG_Samples/features_image_matching/CMakeLists.txt b/src/openMVG_Samples/features_image_matching/CMakeLists.txt -index 18fb385..d44ffce 100644 ---- a/src/openMVG_Samples/features_image_matching/CMakeLists.txt -+++ b/src/openMVG_Samples/features_image_matching/CMakeLists.txt -@@ -5,7 +5,7 @@ target_link_libraries(openMVG_sample_image_matching - openMVG_features - openMVG_matching - ${STLPLUS_LIBRARY} -- vlsift) -+ unofficial::vlfeat::vl) - target_compile_definitions(openMVG_sample_image_matching - PRIVATE -DTHIS_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}") - -diff --git a/src/openMVG_Samples/features_repeatability/CMakeLists.txt b/src/openMVG_Samples/features_repeatability/CMakeLists.txt -index fd2b7c6..91f2766 100644 ---- a/src/openMVG_Samples/features_repeatability/CMakeLists.txt -+++ b/src/openMVG_Samples/features_repeatability/CMakeLists.txt -@@ -6,7 +6,7 @@ target_link_libraries(openMVG_sample_main_features_repeatability_dataset - openMVG_matching - openMVG_system - openMVG_multiview -- vlsift -+ unofficial::vlfeat::vl - ${STLPLUS_LIBRARY}) - - set_property(TARGET openMVG_sample_main_features_repeatability_dataset PROPERTY FOLDER OpenMVG/Samples) -diff --git a/src/software/Localization/CMakeLists.txt b/src/software/Localization/CMakeLists.txt -index 2f60393..0d57d0a 100644 ---- a/src/software/Localization/CMakeLists.txt -+++ b/src/software/Localization/CMakeLists.txt -@@ -11,7 +11,7 @@ target_link_libraries(openMVG_main_SfM_Localization - openMVG_sfm - openMVG_exif - ${STLPLUS_LIBRARY} -- vlsift -+ unofficial::vlfeat::vl - ) - - # Installation rules -diff --git a/src/software/SfM/CMakeLists.txt b/src/software/SfM/CMakeLists.txt -index 6db7e83..51e06f5 100644 ---- a/src/software/SfM/CMakeLists.txt -+++ b/src/software/SfM/CMakeLists.txt -@@ -44,7 +44,7 @@ target_link_libraries(openMVG_main_ComputeFeatures - openMVG_multiview - openMVG_sfm - ${STLPLUS_LIBRARY} -- vlsift -+ unofficial::vlfeat::vl - ) - if (MSVC) - set_target_properties(openMVG_main_ComputeFeatures PROPERTIES COMPILE_FLAGS "/bigobj") -@@ -275,7 +275,7 @@ if(OpenMVG_USE_OPENCV) - openMVG_multiview - openMVG_sfm - ${STLPLUS_LIBRARY} -- vlsift -+ unofficial::vlfeat::vl - ${OpenCV_LIBS}) - target_include_directories(openMVG_main_ComputeFeatures_OpenCV PRIVATE ${OpenCV_INCLUDE_DIRS}) - -diff --git a/src/software/SfM/SfM_GlobalPipeline.py.in b/src/software/SfM/SfM_GlobalPipeline.py.in -index 42b41cc..7fda0cd 100644 ---- a/src/software/SfM/SfM_GlobalPipeline.py.in -+++ b/src/software/SfM/SfM_GlobalPipeline.py.in -@@ -21,7 +21,7 @@ - OPENMVG_SFM_BIN = "@OPENMVG_SOFTWARE_SFM_BUILD_DIR@" - - # Indicate the openMVG camera sensor width directory --CAMERA_SENSOR_WIDTH_DIRECTORY = "@OPENMVG_SOFTWARE_SFM_SRC_DIR@" + "/../../openMVG/exif/sensor_width_database" -+CAMERA_SENSOR_WIDTH_DIRECTORY = "@OPENMVG_CAMERA_SENSOR_WIDTH_DIRECTORY@" - - import os - import subprocess -diff --git a/src/software/SfM/SfM_SequentialPipeline.py.in b/src/software/SfM/SfM_SequentialPipeline.py.in -index 423c85c..0ff2e77 100644 ---- a/src/software/SfM/SfM_SequentialPipeline.py.in -+++ b/src/software/SfM/SfM_SequentialPipeline.py.in -@@ -21,7 +21,7 @@ - OPENMVG_SFM_BIN = "@OPENMVG_SOFTWARE_SFM_BUILD_DIR@" - - # Indicate the openMVG camera sensor width directory --CAMERA_SENSOR_WIDTH_DIRECTORY = "@OPENMVG_SOFTWARE_SFM_SRC_DIR@" + "/../../openMVG/exif/sensor_width_database" -+CAMERA_SENSOR_WIDTH_DIRECTORY = "@OPENMVG_CAMERA_SENSOR_WIDTH_DIRECTORY@" - - import os - import subprocess -diff --git a/src/software/SfM/tutorial_demo.py.in b/src/software/SfM/tutorial_demo.py.in -index c7361f3..1c56aab 100644 ---- a/src/software/SfM/tutorial_demo.py.in -+++ b/src/software/SfM/tutorial_demo.py.in -@@ -12,7 +12,7 @@ - OPENMVG_SFM_BIN = "@OPENMVG_SOFTWARE_SFM_BUILD_DIR@" - - # Indicate the openMVG camera sensor width directory --CAMERA_SENSOR_WIDTH_DIRECTORY = "@OPENMVG_SOFTWARE_SFM_SRC_DIR@" + "/../../openMVG/exif/sensor_width_database" -+CAMERA_SENSOR_WIDTH_DIRECTORY = "@OPENMVG_CAMERA_SENSOR_WIDTH_DIRECTORY@" - - import os - import subprocess -diff --git a/src/software/VO/Tracker_opencv_klt.hpp b/src/software/VO/Tracker_opencv_klt.hpp -index aa7dffe..2c4d237 100644 ---- a/src/software/VO/Tracker_opencv_klt.hpp -+++ b/src/software/VO/Tracker_opencv_klt.hpp -@@ -80,7 +80,7 @@ struct Tracker_opencv_KLT : public Abstract_Tracker - std::vector m_nextKeypoints; - - cv::Ptr m_detector = cv::GFTTDetector::create(count); -- if (m_detector == NULL) -+ if (m_detector == nullptr) - return false; - - m_detector->detect(current_img, m_nextKeypoints); -diff --git a/src/third_party/CMakeLists.txt b/src/third_party/CMakeLists.txt -index 0d61c9f..05c8b29 100644 ---- a/src/third_party/CMakeLists.txt -+++ b/src/third_party/CMakeLists.txt -@@ -18,7 +18,7 @@ add_subdirectory(stlplus3) - set(STLPLUS_LIBRARY openMVG_stlplus PARENT_SCOPE) - - # Add graph library --if(DEFINED OpenMVG_USE_INTERNAL_LEMON) -+if(OpenMVG_USE_INTERNAL_LEMON) - add_subdirectory(lemon) - set(LEMON_LIBRARY openMVG_lemon PARENT_SCOPE) - endif() -@@ -67,7 +67,7 @@ endif (NOT TIFF_FOUND) - add_subdirectory(vectorGraphics) - - # Add ceres-solver (A Nonlinear Least Squares Minimizer) --if (DEFINED OpenMVG_USE_INTERNAL_CERES) -+if (OpenMVG_USE_INTERNAL_CERES) - add_subdirectory(cxsparse) - add_subdirectory(ceres-solver) - set_property(TARGET openMVG_cxsparse PROPERTY FOLDER OpenMVG/3rdParty/ceres) -@@ -75,7 +75,7 @@ if (DEFINED OpenMVG_USE_INTERNAL_CERES) - endif() - - # Add an Approximate Nearest Neighbor library --if (DEFINED OpenMVG_USE_INTERNAL_FLANN) -+if (OpenMVG_USE_INTERNAL_FLANN) - set(FLANN_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include/openMVG/third_party/flann/src/cpp) - add_subdirectory(flann) - endif() -@@ -89,7 +89,7 @@ add_subdirectory(fast) - ## - # Install Header only libraries if necessary - ## --if (DEFINED OpenMVG_USE_INTERNAL_EIGEN) -+if (OpenMVG_USE_INTERNAL_EIGEN) - #Configure Eigen install - set(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include/openMVG/third_party/eigen) - add_subdirectory(eigen) From 81803fdc386bbdbb0db78f34cd575d307e24c613 Mon Sep 17 00:00:00 2001 From: Frank xie Date: Thu, 25 Nov 2021 17:46:39 -0800 Subject: [PATCH 15/15] update version --- versions/o-/openmvg.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/o-/openmvg.json b/versions/o-/openmvg.json index ced1b4973d2d1d..f66991c024cf4f 100644 --- a/versions/o-/openmvg.json +++ b/versions/o-/openmvg.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "ac0598216d96b4a08e652930a31d98ace43fdef0", + "git-tree": "aef26cb3322d0c12c95d91d4629802e8912d4914", "version": "2.0", "port-version": 0 },