2020-10-27 21:21:28 +00:00
|
|
|
set(_proj_name openmvs)
|
|
|
|
set(_SB_BINARY_DIR "${SB_BINARY_DIR}/${_proj_name}")
|
|
|
|
|
|
|
|
externalproject_add(vcg
|
2022-03-05 16:00:27 +00:00
|
|
|
GIT_REPOSITORY https://github.com/OpenDroneMap/VCG.git
|
2022-05-26 17:08:27 +00:00
|
|
|
GIT_TAG 285
|
2020-10-27 21:21:28 +00:00
|
|
|
UPDATE_COMMAND ""
|
|
|
|
SOURCE_DIR ${SB_SOURCE_DIR}/vcg
|
|
|
|
CONFIGURE_COMMAND ""
|
|
|
|
BUILD_IN_SOURCE 1
|
|
|
|
BUILD_COMMAND ""
|
|
|
|
INSTALL_COMMAND ""
|
|
|
|
)
|
|
|
|
|
2021-10-22 21:01:43 +00:00
|
|
|
externalproject_add(eigen34
|
|
|
|
GIT_REPOSITORY https://gitlab.com/libeigen/eigen.git
|
2023-11-05 20:45:12 +00:00
|
|
|
GIT_TAG 7176ae16238ded7fb5ed30a7f5215825b3abd134
|
2021-10-22 21:01:43 +00:00
|
|
|
UPDATE_COMMAND ""
|
|
|
|
SOURCE_DIR ${SB_SOURCE_DIR}/eigen34
|
|
|
|
CONFIGURE_COMMAND ""
|
|
|
|
BUILD_IN_SOURCE 1
|
|
|
|
BUILD_COMMAND ""
|
|
|
|
INSTALL_COMMAND ""
|
|
|
|
)
|
|
|
|
|
2021-08-12 21:45:51 +00:00
|
|
|
SET(ARM64_CMAKE_ARGS "")
|
2022-08-10 18:38:34 +00:00
|
|
|
|
|
|
|
if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "arm64")
|
2021-08-12 21:45:51 +00:00
|
|
|
SET(ARM64_CMAKE_ARGS -DOpenMVS_USE_SSE=OFF)
|
|
|
|
endif()
|
|
|
|
|
2021-10-22 19:03:45 +00:00
|
|
|
SET(GPU_CMAKE_ARGS "")
|
|
|
|
if(UNIX)
|
|
|
|
if (EXISTS "/usr/local/cuda/lib64/stubs")
|
2021-10-22 19:04:46 +00:00
|
|
|
SET(GPU_CMAKE_ARGS -DCMAKE_LIBRARY_PATH=/usr/local/cuda/lib64/stubs)
|
2021-10-22 19:03:45 +00:00
|
|
|
endif()
|
|
|
|
endif()
|
|
|
|
|
2021-11-24 16:02:36 +00:00
|
|
|
if(WIN32)
|
2021-11-24 16:26:03 +00:00
|
|
|
# On Windows systems without NVIDIA GPUs, OpenMVS will not launch
|
|
|
|
# unless a CUDA DLL is available; we download a dummy DLL
|
|
|
|
# generated with https://github.com/ykhwong/dummy-dll-generator that is
|
|
|
|
# loaded UNLESS the real CUDA DLL is available, since it will
|
|
|
|
# be loaded before our dummy DLL.
|
|
|
|
file(DOWNLOAD "https://github.com/OpenDroneMap/windows-deps/releases/download/2.5.0/nvcuda_dummy.dll" "${SB_INSTALL_DIR}/bin/nvcuda.dll")
|
2021-11-24 16:02:36 +00:00
|
|
|
endif()
|
|
|
|
|
2020-10-27 21:21:28 +00:00
|
|
|
ExternalProject_Add(${_proj_name}
|
2021-10-22 21:01:43 +00:00
|
|
|
DEPENDS ceres opencv vcg eigen34
|
2020-10-27 21:21:28 +00:00
|
|
|
PREFIX ${_SB_BINARY_DIR}
|
|
|
|
TMP_DIR ${_SB_BINARY_DIR}/tmp
|
|
|
|
STAMP_DIR ${_SB_BINARY_DIR}/stamp
|
|
|
|
#--Download step--------------
|
|
|
|
DOWNLOAD_DIR ${SB_DOWNLOAD_DIR}
|
2020-11-02 20:58:25 +00:00
|
|
|
GIT_REPOSITORY https://github.com/OpenDroneMap/openMVS
|
2023-08-21 19:42:21 +00:00
|
|
|
GIT_TAG 320
|
2020-10-27 21:21:28 +00:00
|
|
|
#--Update/Patch step----------
|
|
|
|
UPDATE_COMMAND ""
|
|
|
|
#--Configure step-------------
|
|
|
|
SOURCE_DIR ${SB_SOURCE_DIR}/${_proj_name}
|
|
|
|
CMAKE_ARGS
|
|
|
|
-DOpenCV_DIR=${SB_INSTALL_DIR}/lib/cmake/opencv4
|
|
|
|
-DVCG_ROOT=${SB_SOURCE_DIR}/vcg
|
2021-10-22 21:01:43 +00:00
|
|
|
-DEIGEN3_INCLUDE_DIR=${SB_SOURCE_DIR}/eigen34/
|
2021-10-26 20:20:03 +00:00
|
|
|
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
|
2020-10-27 21:21:28 +00:00
|
|
|
-DCMAKE_INSTALL_PREFIX=${SB_INSTALL_DIR}
|
2022-12-01 13:13:07 +00:00
|
|
|
-DOpenMVS_ENABLE_TESTS=OFF
|
2021-10-29 16:59:59 +00:00
|
|
|
-DOpenMVS_MAX_CUDA_COMPATIBILITY=ON
|
2021-10-22 19:03:45 +00:00
|
|
|
${GPU_CMAKE_ARGS}
|
2021-04-28 19:02:28 +00:00
|
|
|
${WIN32_CMAKE_ARGS}
|
2021-08-12 21:45:51 +00:00
|
|
|
${ARM64_CMAKE_ARGS}
|
2020-10-27 21:21:28 +00:00
|
|
|
#--Build step-----------------
|
|
|
|
BINARY_DIR ${_SB_BINARY_DIR}
|
|
|
|
#--Install step---------------
|
|
|
|
INSTALL_DIR ${SB_INSTALL_DIR}
|
|
|
|
#--Output logging-------------
|
|
|
|
LOG_DOWNLOAD OFF
|
|
|
|
LOG_CONFIGURE OFF
|
|
|
|
LOG_BUILD OFF
|
|
|
|
)
|