Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[OpenMVG/OpenMVS] fix tools #12229

Merged
merged 76 commits into from
Aug 28, 2020
Merged
Show file tree
Hide file tree
Changes from 51 commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
e07737c
[OpenMVG/OpenMVS] add some features, fix tools
cenit Jul 2, 2020
35611c2
[OpenMVG] copy tools only if feature is enabled
cenit Jul 3, 2020
557f145
[OpenMVG] add a message about graphviz requirement
cenit Jul 3, 2020
4ed4059
[OpenMVS] fix tool paths
cenit Jul 3, 2020
2538599
[OpenMVG] copy OpenCV-enabled tool only if opencv feature is enabled
cenit Jul 3, 2020
bdc948e
Merge branch 'master' into dev/cenit/openmvs_openmvg
cenit Jul 3, 2020
a087756
[OpenMVS] fixes for OSX
cenit Jul 3, 2020
5c4d2a2
[OpenMVS] improve linux build resiliency
cenit Jul 4, 2020
3c84859
[OpenMVS] fixes when using cmake targets
cenit Jul 6, 2020
5ca639b
[OpenMVS] improve usage for downstream projects
cenit Jul 7, 2020
16aada2
[OpenMVG] improve usage for downstream projects
cenit Jul 7, 2020
e1908dc
[OpenMVS] fix tool names also on macOS/linux
cenit Jul 8, 2020
1685d9e
rebuild openblas to check binarycaching
cenit Jul 8, 2020
d4021bf
[OpenMVS] simplify patches
cenit Jul 8, 2020
041ccd1
[OpenMVS] improve behaviour for downstream projects
cenit Jul 8, 2020
f96b4ec
[clapack] bump to retrigger CI build
cenit Jul 9, 2020
ca0cbc6
Merge branch 'master' into dev/cenit/openmvs_openmvg
cenit Jul 9, 2020
21cc849
[qt5-base] add zstd as dependency
cenit Jul 9, 2020
b56afd9
Update ports/openmvg/CONTROL
cenit Jul 10, 2020
5b150a4
Update ports/openmvs/CONTROL
cenit Jul 10, 2020
39caea0
Update ports/qt5-base/CONTROL
cenit Jul 10, 2020
d1fae65
revert clapack and openblas version bumps
cenit Jul 10, 2020
e5e6f1f
[vlfeat] add new port and remove it from 3rd party integrated inside …
cenit Jul 10, 2020
3de5713
[vlfeat] improve compatibility with arm toolchains
cenit Jul 10, 2020
ba5d6a6
[vlfeat] remove avx feature because it's broken
cenit Jul 10, 2020
6a50e95
[SuiteSparse] bump to 5.8 trying to fix regressions on linux
cenit Jul 11, 2020
8f849f7
[OpenMVG] fully remove integrated vlfeat
cenit Jul 11, 2020
c20fe88
[eigen3] properly handle cmake targets
cenit Jul 11, 2020
14796fe
Merge branch 'master' into dev/cenit/openmvs_openmvg
cenit Jul 11, 2020
076e96d
[suitesparse] add cxsparse cmake module handling
cenit Jul 13, 2020
1a98de6
[nanogui] properly handle eigen3
cenit Jul 13, 2020
c0554c9
[ceres] properly handle eigen3
cenit Jul 13, 2020
412cff1
[qt5] fixes #12387
cenit Jul 13, 2020
4a1775e
[ceres] improve handling Eigen3
cenit Jul 13, 2020
98bb209
[vlfeat] trying to fix uwp builds
cenit Jul 13, 2020
0370ea3
fix openblas/lapack, again, like one year ago
cenit Jul 13, 2020
6cfcb56
Merge branch 'master' into dev/cenit/openmvs_openmvg
cenit Jul 14, 2020
9de2f68
Merge branch 'master' into dev/cenit/openmvs_openmvg
cenit Jul 16, 2020
695b788
Update ports/nanogui/CONTROL
cenit Jul 16, 2020
b33a6ad
Update ports/nanogui/portfile.cmake
cenit Jul 16, 2020
77ccbd0
[nanogui] revert broken b33a6ad
cenit Jul 16, 2020
a05cd00
apply fixes from review
cenit Jul 16, 2020
e45075e
Update ports/nanogui/portfile.cmake
cenit Jul 17, 2020
d97dff8
Update ports/openmvs/portfile.cmake
cenit Jul 17, 2020
5ca1f0d
Update ports/theia/portfile.cmake
cenit Jul 17, 2020
4a98e90
[eigen3] bump port revision version
cenit Jul 23, 2020
2a29abe
Merge branch 'master' of https://github.com/Microsoft/vcpkg into dev/…
Jul 28, 2020
a6327e2
[clapacj] improve pthreads handling
cenit Jul 28, 2020
3682f1f
Merge branch 'master' into dev/cenit/openmvs_openmvg
cenit Jul 31, 2020
869c5cc
Update ports/ceres/0004_fix_find_eigen.patch
cenit Aug 6, 2020
a344e11
Merge branch 'master' into dev/cenit/openmvs_openmvg
cenit Aug 6, 2020
bc270be
Merge branch 'master' into dev/cenit/openmvs_openmvg
JackBoosY Aug 7, 2020
688e08c
[openmvg] enable port also in single build type triplets
cenit Aug 10, 2020
7a4b522
merge with master
cenit Aug 17, 2020
6912ee3
[suitesparse] depend on lapack metaport
cenit Aug 17, 2020
c655b2b
[openmvs] fix case
cenit Aug 19, 2020
e66064e
[LAPACK] fix bug that was making LAPACK completely broken outside Win…
cenit Aug 20, 2020
ff67f4b
[lapack] bump CONTROL
cenit Aug 20, 2020
bb14712
[ceres] bump CONTROL
cenit Aug 20, 2020
2ebd56e
[openblas] bump CONTROL
cenit Aug 20, 2020
24fed1d
[OpenBLAS] now that lapack-reference uses it on osx, remove a dangero…
cenit Aug 21, 2020
ef9cae2
wqMerge branch 'master' into dev/cenit/openmvs_openmvg
cenit Aug 21, 2020
4d22962
[openmvs] do not depend on tools in windows static, openmvg has probl…
cenit Aug 21, 2020
4b78d2c
remove openmvs from linux failing list
cenit Aug 21, 2020
85ea382
Merge branch 'master' into dev/cenit/openmvs_openmvg
cenit Aug 22, 2020
d893422
[ceres] remove a broken patch which made blas function non resolved
cenit Aug 22, 2020
f2a9872
Merge branch 'master' into dev/cenit/openmvs_openmvg
cenit Aug 22, 2020
540ebb3
[SuiteSparse] remove another unnecessary blas-breaking patch
cenit Aug 22, 2020
22db3a6
Update ports/ceres/CONTROL
JackBoosY Aug 24, 2020
3921e9e
Update ports/ceres/portfile.cmake
JackBoosY Aug 24, 2020
f0731a7
Merge branch 'master' into dev/cenit/openmvs_openmvg
cenit Aug 24, 2020
d29561c
restore qt5-base portfile
cenit Aug 25, 2020
6729cfa
Merge branch 'master' into dev/cenit/openmvs_openmvg
cenit Aug 26, 2020
e2c1de8
[OpenMVG] error message when static CRT linking and software tools fe…
cenit Aug 26, 2020
93fb76b
[mlpack] fix tools regression
cenit Aug 26, 2020
ea517c4
Update ports/suitesparse/CONTROL
NancyLi1013 Aug 27, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 2 additions & 11 deletions ports/ceres/0001_cmakelists_fixes.patch
Original file line number Diff line number Diff line change
Expand Up @@ -31,19 +31,10 @@ index 02c72b5..62d8c59 100644
endif (MINIGLOG)

if (NOT SCHUR_SPECIALIZATIONS)
@@ -582,7 +562,7 @@ include_directories(
# Note that this is *not* propagated to clients, ie CERES_INCLUDE_DIRS
# used by clients after find_package(Ceres) does not identify Eigen as
# as system headers.
-include_directories(SYSTEM ${EIGEN_INCLUDE_DIRS})
+include_directories(SYSTEM ${EIGEN_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}/Eigen)

if (SUITESPARSE)
include_directories(${SUITESPARSE_INCLUDE_DIRS})
@@ -917,8 +897,6 @@ install(FILES "${Ceres_BINARY_DIR}/CeresConfig-install.cmake"
@@ -917,8 +897,5 @@ install(FILES "${Ceres_BINARY_DIR}/CeresConfig-install.cmake"
DESTINATION ${RELATIVE_CMAKECONFIG_INSTALL_DIR})
install(FILES "${Ceres_BINARY_DIR}/CeresConfigVersion.cmake"
"${Ceres_SOURCE_DIR}/cmake/FindEigen.cmake"
- "${Ceres_SOURCE_DIR}/cmake/FindEigen.cmake"
cenit marked this conversation as resolved.
Show resolved Hide resolved
- "${Ceres_SOURCE_DIR}/cmake/FindGlog.cmake"
- "${Ceres_SOURCE_DIR}/cmake/FindGflags.cmake"
DESTINATION ${RELATIVE_CMAKECONFIG_INSTALL_DIR})
Expand Down
122 changes: 122 additions & 0 deletions ports/ceres/0004_fix_find_eigen.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7033de0..5235baa 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -209,40 +209,40 @@ endif (IOS)
unset(CERES_COMPILE_OPTIONS)

# Eigen.
-find_package(Eigen REQUIRED)
-if (EIGEN_FOUND)
- message("-- Found Eigen version ${EIGEN_VERSION}: ${EIGEN_INCLUDE_DIRS}")
- if (EIGEN_VERSION VERSION_LESS 3.1.0)
+find_package(Eigen3 REQUIRED)
+if (EIGEN3_FOUND)
+ message(STATUS "Found Eigen version ${EIGEN3_VERSION_STRING}: ${EIGEN3_INCLUDE_DIRS}")
+ if (EIGEN3_VERSION_STRING VERSION_LESS 3.1.0)
message(FATAL_ERROR "-- Ceres requires Eigen version >= 3.1.0 in order "
"that Eigen/SparseCore be available, detected version of Eigen is: "
- "${EIGEN_VERSION}")
- endif (EIGEN_VERSION VERSION_LESS 3.1.0)
+ "${EIGEN3_VERSION_STRING}")
+ endif (EIGEN3_VERSION_STRING VERSION_LESS 3.1.0)

if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64.*|AARCH64.*)" AND
- EIGEN_VERSION VERSION_LESS 3.3.4)
+ EIGEN3_VERSION_STRING VERSION_LESS 3.3.4)
# As per issue #289: https://github.com/ceres-solver/ceres-solver/issues/289
# the bundle_adjustment_test will fail for Eigen < 3.3.4 on aarch64.
message(FATAL_ERROR "-- Ceres requires Eigen version >= 3.3.4 on aarch64. "
- "Detected version of Eigen is: ${EIGEN_VERSION}.")
+ "Detected version of Eigen is: ${EIGEN3_VERSION_STRING}.")
endif()

if (EIGENSPARSE)
- message("-- Enabling use of Eigen as a sparse linear algebra library.")
+ message(STATUS "Enabling use of Eigen as a sparse linear algebra library.")
list(APPEND CERES_COMPILE_OPTIONS CERES_USE_EIGEN_SPARSE)
- if (EIGEN_VERSION VERSION_LESS 3.2.2)
+ if (EIGEN3_VERSION_STRING VERSION_LESS 3.2.2)
message(" WARNING:")
message("")
- message(" Your version of Eigen (${EIGEN_VERSION}) is older than ")
+ message(" Your version of Eigen (${EIGEN3_VERSION_STRING}) is older than ")
message(" version 3.2.2. The performance of SPARSE_NORMAL_CHOLESKY ")
message(" and SPARSE_SCHUR linear solvers will suffer.")
- endif (EIGEN_VERSION VERSION_LESS 3.2.2)
+ endif (EIGEN3_VERSION_STRING VERSION_LESS 3.2.2)
else (EIGENSPARSE)
message("-- Disabling use of Eigen as a sparse linear algebra library.")
message(" This does not affect the covariance estimation algorithm ")
message(" which can still use the EIGEN_SPARSE_QR algorithm.")
add_definitions(-DEIGEN_MPL2_ONLY)
endif (EIGENSPARSE)
-endif (EIGEN_FOUND)
+endif (EIGEN3_FOUND)

if (LAPACK)
find_package(LAPACK QUIET)
@@ -562,7 +562,7 @@ include_directories(
# Note that this is *not* propagated to clients, ie CERES_INCLUDE_DIRS
# used by clients after find_package(Ceres) does not identify Eigen as
# as system headers.
-include_directories(SYSTEM ${EIGEN_INCLUDE_DIRS})
+include_directories(${EIGEN3_INCLUDE_DIRS})
cenit marked this conversation as resolved.
Show resolved Hide resolved

if (SUITESPARSE)
include_directories(${SUITESPARSE_INCLUDE_DIRS})
diff --git a/cmake/CeresConfig.cmake.in b/cmake/CeresConfig.cmake.in
index c4ed71f..b3d6a17 100644
--- a/cmake/CeresConfig.cmake.in
+++ b/cmake/CeresConfig.cmake.in
@@ -202,39 +202,39 @@ set(CERES_VERSION @CERES_VERSION@ )

# Eigen.
# Flag set during configuration and build of Ceres.
-set(CERES_EIGEN_VERSION @EIGEN_VERSION@)
+set(CERES_EIGEN_VERSION @EIGEN3_VERSION_STRING@)
set(EIGEN_WAS_BUILT_WITH_CMAKE @FOUND_INSTALLED_EIGEN_CMAKE_CONFIGURATION@)
# Append the locations of Eigen when Ceres was built to the search path hints.
if (EIGEN_WAS_BUILT_WITH_CMAKE)
set(Eigen3_DIR @Eigen3_DIR@)
set(EIGEN_PREFER_EXPORTED_EIGEN_CMAKE_CONFIGURATION TRUE)
else()
- list(APPEND EIGEN_INCLUDE_DIR_HINTS @EIGEN_INCLUDE_DIR@)
+ list(APPEND EIGEN_INCLUDE_DIR_HINTS @EIGEN3_INCLUDE_DIR@)
cenit marked this conversation as resolved.
Show resolved Hide resolved
endif()
# Search quietly to control the timing of the error message if not found. The
# search should be for an exact match, but for usability reasons do a soft
# match and reject with an explanation below.
-find_package(Eigen ${CERES_EIGEN_VERSION} QUIET)
-if (EIGEN_FOUND)
- if (NOT EIGEN_VERSION VERSION_EQUAL CERES_EIGEN_VERSION)
+find_package(Eigen3 ${CERES_EIGEN_VERSION} QUIET)
cenit marked this conversation as resolved.
Show resolved Hide resolved
+if (EIGEN3_FOUND)
+ if (NOT EIGEN3_VERSION_STRING VERSION_EQUAL CERES_EIGEN_VERSION)
# CMake's VERSION check in FIND_PACKAGE() will accept any version >= the
# specified version. However, only version = is supported. Improve
# usability by explaining why we don't accept non-exact version matching.
ceres_report_not_found("Found Eigen dependency, but the version of Eigen "
- "found (${EIGEN_VERSION}) does not exactly match the version of Eigen "
+ "found (${EIGEN3_VERSION_STRING}) does not exactly match the version of Eigen "
"Ceres was compiled with (${CERES_EIGEN_VERSION}). This can cause subtle "
"bugs by triggering violations of the One Definition Rule. See the "
"Wikipedia article http://en.wikipedia.org/wiki/One_Definition_Rule "
"for more details")
endif ()
message(STATUS "Found required Ceres dependency: "
- "Eigen version ${CERES_EIGEN_VERSION} in ${EIGEN_INCLUDE_DIRS}")
-else (EIGEN_FOUND)
+ "Eigen version ${CERES_EIGEN_VERSION} in ${EIGEN3_INCLUDE_DIRS}")
+else (EIGEN3_FOUND)
ceres_report_not_found("Missing required Ceres "
"dependency: Eigen version ${CERES_EIGEN_VERSION}, please set "
- "EIGEN_INCLUDE_DIR.")
-endif (EIGEN_FOUND)
-list(APPEND CERES_INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS})
+ "EIGEN3_INCLUDE_DIR.")
+endif (EIGEN3_FOUND)
+list(APPEND CERES_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIRS})

# Glog.
include (CMakeFindDependencyMacro)
3 changes: 2 additions & 1 deletion ports/ceres/CONTROL
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
Source: ceres
Version: 1.14.0-7
Version: 1.14.0
Port-Version: 8
Build-Depends: glog, eigen3
Homepage: https://github.com/ceres-solver/ceres-solver
Description: non-linear optimization package
Expand Down
17 changes: 8 additions & 9 deletions ports/ceres/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ if(VCPKG_CRT_LINKAGE STREQUAL "static")
set(MSVC_USE_STATIC_CRT_VALUE ON)
endif()

if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
set(ADDITIONAL_PATCH "0004_blas_linux_fix.patch")
if(VCPKG_TARGET_IS_LINUX)
set(ADDITIONAL_PATCH "0005_blas_linux_fix.patch")
cenit marked this conversation as resolved.
Show resolved Hide resolved
endif()

vcpkg_from_github(
Expand All @@ -20,14 +20,15 @@ vcpkg_from_github(
0001_cmakelists_fixes.patch
0002_use_glog_target.patch
0003_fix_exported_ceres_config.patch
0004_fix_find_eigen.patch
${ADDITIONAL_PATCH}
)

file(REMOVE ${SOURCE_PATH}/cmake/FindCXSparse.cmake)
file(REMOVE ${SOURCE_PATH}/cmake/FindGflags.cmake)
file(REMOVE ${SOURCE_PATH}/cmake/FindGlog.cmake)
#file(REMOVE ${SOURCE_PATH}/cmake/FindEigen.cmake)
file(REMOVE ${SOURCE_PATH}/cmake/FindEigen.cmake)
file(REMOVE ${SOURCE_PATH}/cmake/FindSuiteSparse.cmake)
#file(REMOVE ${SOURCE_PATH}/cmake/FindTBB.cmake)


JackBoosY marked this conversation as resolved.
Show resolved Hide resolved
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
Expand All @@ -52,7 +53,7 @@ vcpkg_configure_cmake(

vcpkg_install_cmake()

if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
if(VCPKG_TARGET_IS_WINDOWS)
vcpkg_fixup_cmake_targets(CONFIG_PATH CMake)
else()
vcpkg_fixup_cmake_targets(CONFIG_PATH lib${LIB_SUFFIX}/cmake/Ceres)
Expand All @@ -61,7 +62,7 @@ endif()
vcpkg_copy_pdbs()

# Changes target search path
if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
if(VCPKG_TARGET_IS_WINDOWS)
file(READ ${CURRENT_PACKAGES_DIR}/share/ceres/CeresConfig.cmake CERES_TARGETS)
string(REPLACE "get_filename_component(CURRENT_ROOT_INSTALL_DIR\n \${CERES_CURRENT_CONFIG_DIR}/../"
"get_filename_component(CURRENT_ROOT_INSTALL_DIR\n \${CERES_CURRENT_CONFIG_DIR}/../../" CERES_TARGETS "${CERES_TARGETS}")
Expand All @@ -77,6 +78,4 @@ endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)

cenit marked this conversation as resolved.
Show resolved Hide resolved
# Handle copyright of suitesparse and metis
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/ceres)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/ceres/LICENSE ${CURRENT_PACKAGES_DIR}/share/ceres/copyright)
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
3 changes: 2 additions & 1 deletion ports/clapack/CONTROL
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
Source: clapack
Version: 3.2.1-13
Version: 3.2.1
Port-Version: 14
Homepage: https://www.netlib.org/clapack
Description: CLAPACK (f2c'ed version of LAPACK)
Build-Depends: openblas (!osx)
cenit marked this conversation as resolved.
Show resolved Hide resolved
Loading