kopia lustrzana https://github.com/OpenDroneMap/ODM
add SupeBuild for odm modules (only opencv and pcl)
rodzic
4f376bb0b4
commit
fd338c40c3
|
@ -1,34 +1,14 @@
|
|||
cmake_minimum_required(VERSION 2.8.9)
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
project(OpenDroneMap)
|
||||
|
||||
set(ODM_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
|
||||
set(ODM_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||||
set(ODM_BINARY_DIR ${PROJECT_BINARY_DIR}/bin)
|
||||
set(ODM_LIBRARY_DIR ${PROJECT_BINARY_DIR}/lib)
|
||||
#TODO(edgar): add option in order to point to CMAKE_PREFIX_PATH
|
||||
# e.g. ODM_SB_INSTALL_PATH
|
||||
|
||||
set(ODM_THIRD_PARTY_DIR ${ODM_SOURCE_DIR}/third_party)
|
||||
# Add ODM sub-modules
|
||||
add_subdirectory(modules/odm_extract_utm)
|
||||
add_subdirectory(modules/odm_georef)
|
||||
add_subdirectory(modules/odm_meshing)
|
||||
add_subdirectory(modules/odm_orthophoto)
|
||||
add_subdirectory(modules/odm_texturing)
|
||||
|
||||
set(URL http://ftp.gnu.org/gnu/parallel/parallel-20141022.tar.bz2)
|
||||
set(FILE_NAME parallel.tar.bz2)
|
||||
set(FILE_DIR ${ODM_THIRD_PARTY_DIR}/parallel)
|
||||
set(FILE_PATH ${FILE_DIR}/${FILE_NAME})
|
||||
|
||||
message(STATUS "downloading ... ${FILE_NAME}")
|
||||
|
||||
file(DOWNLOAD ${URL} ${FILE_PATH}
|
||||
EXPECTED_MD5 c01f53f9f6cc721a81591308f9e689c4
|
||||
STATUS status
|
||||
LOG log)
|
||||
|
||||
message(STATUS "downloading ... done")
|
||||
|
||||
message(STATUS "extracting ... ${FILE_PATH}")
|
||||
|
||||
if(NOT EXISTS "${FILE_PATH}")
|
||||
message(FATAL_ERROR "error: file to extract does not exist: '${FILE_NAME}'")
|
||||
endif()
|
||||
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xjf ${FILE_PATH}
|
||||
WORKING_DIRECTORY ${FILE_DIR}
|
||||
RESULT_VARIABLE rv)
|
|
@ -0,0 +1,45 @@
|
|||
|
||||
ExternalProject_Add(opencv
|
||||
URL https://github.com/Itseez/opencv/archive/2.4.11.zip
|
||||
URL_MD5 b517e83489c709eee1d8be76b16976a7
|
||||
BINARY_DIR ${SB_BUILD_DIR}
|
||||
INSTALL_DIR ${SB_INSTALL_PREFIX}
|
||||
DOWNLOAD_DIR ${DOWNLOAD_LOCATION}
|
||||
CMAKE_ARGS
|
||||
-DBUILD_opencv_core=ON
|
||||
-DBUILD_opencv_imgproc=ON
|
||||
-DBUILD_opencv_highgui=ON
|
||||
-DWITH_CUDA=OFF
|
||||
-DWITH_GTK=OFF
|
||||
-DWITH_VTK=OFF
|
||||
-DWITH_EIGEN=OFF
|
||||
-DWITH_OPENNI=OFF
|
||||
-DBUILD_EXAMPLES=OFF
|
||||
-DBUILD_TESTS=OFF
|
||||
-DBUILD_PERF_TESTS=OFF
|
||||
-DBUILD_DOCS=OFF
|
||||
-DBUILD_opencv_apps=OFF
|
||||
-DBUILD_opencv_flann=OFF
|
||||
-DBUILD_opencv_legacy=OFF
|
||||
-DBUILD_opencv_photo=OFF
|
||||
-DBUILD_opencv_video=OFF
|
||||
-DBUILD_opencv_calib3d=OFF
|
||||
-DBUILD_opencv_gpu=OFF
|
||||
-DBUILD_opencv_ml=OFF
|
||||
-DBUILD_opencv_python=OFF
|
||||
-DBUILD_opencv_videostab=OFF
|
||||
-DBUILD_opencv_contrib=OFF
|
||||
-DBUILD_opencv_nonfree=OFF
|
||||
-DBUILD_opencv_stitching=OFF
|
||||
-DBUILD_opencv_world=OFF
|
||||
-DBUILD_opencv_objdetect=OFF
|
||||
-DBUILD_opencv_superres=OFF
|
||||
-DBUILD_opencv_features2d=OFF
|
||||
-DBUILD_opencv_java=OFF
|
||||
-DBUILD_opencv_ocl=OFF
|
||||
-DBUILD_opencv_ts=OFF
|
||||
-DCMAKE_BUILD_TYPE:STRING=Release
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=${SB_INSTALL_PREFIX}
|
||||
)
|
||||
|
||||
set(OPENCV_DIR ${SB_INSTALL_PREFIX}/share)
|
|
@ -0,0 +1,38 @@
|
|||
|
||||
ExternalProject_Add(pcl
|
||||
URL https://github.com/PointCloudLibrary/pcl/archive/pcl-1.7.2.tar.gz
|
||||
URL_MD5 02c72eb6760fcb1f2e359ad8871b9968
|
||||
BINARY_DIR ${SB_BUILD_DIR}
|
||||
INSTALL_DIR ${SB_INSTALL_PREFIX}
|
||||
DOWNLOAD_DIR ${DOWNLOAD_LOCATION}
|
||||
CMAKE_ARGS
|
||||
-DBUILD_features=OFF
|
||||
-DBUILD_filters=OFF
|
||||
-DBUILD_geometry=OFF
|
||||
-DBUILD_keypoints=OFF
|
||||
-DBUILD_outofcore=OFF
|
||||
-DBUILD_people=OFF
|
||||
-DBUILD_recognition=OFF
|
||||
-DBUILD_registration=OFF
|
||||
-DBUILD_sample_consensus=OFF
|
||||
-DBUILD_segmentation=OFF
|
||||
-DBUILD_features=OFF
|
||||
-DBUILD_surface_on_nurbs=OFF
|
||||
-DBUILD_tools=OFF
|
||||
-DBUILD_tracking=OFF
|
||||
-DBUILD_visualization=OFF
|
||||
-DWITH_QT=OFF
|
||||
-DBUILD_OPENNI=OFF
|
||||
-DBUILD_OPENNI2=OFF
|
||||
-DWITH_OPENNI=OFF
|
||||
-DWITH_OPENNI2=OFF
|
||||
-DWITH_FZAPI=OFF
|
||||
-DWITH_LIBUSB=OFF
|
||||
-DWITH_PCAP=OFF
|
||||
-DWITH_PXCAPI=OFF
|
||||
-DCMAKE_BUILD_TYPE=Release
|
||||
-DPCL_VERBOSITY_LEVEL=Error
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=${SB_INSTALL_PREFIX}
|
||||
)
|
||||
|
||||
set(PCL_DIR ${SB_INSTALL_PREFIX}/share)
|
|
@ -0,0 +1,60 @@
|
|||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
project(ODM-SuperBuild)
|
||||
|
||||
# Path to additional CMake modules
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/CMake)
|
||||
|
||||
include(ExternalProject)
|
||||
|
||||
# Setup location where source tar-balls are downloaded
|
||||
set (DOWNLOAD_LOCATION "${CMAKE_SOURCE_DIR}/Downloads"
|
||||
CACHE PATH "Location where source tar-balls are (to be) downloaded.")
|
||||
mark_as_advanced(DOWNLOAD_LOCATION)
|
||||
|
||||
set(SB_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
|
||||
|
||||
# Check if CMAKE_INSTALL_PREFIX is set by default
|
||||
if(CMAKE_INSTALL_PREFIX STREQUAL "/usr/local")
|
||||
message(WARNING
|
||||
"The CMAKE_INSTALL_PREFIX variable seems to be set by default : "
|
||||
"${CMAKE_INSTALL_PREFIX}. Be aware that this directory will be used"
|
||||
" during the build (even without calling the install target). Please "
|
||||
"make sure you want to use this directory as the SuperBuild output.")
|
||||
endif()
|
||||
|
||||
|
||||
#############################
|
||||
# Download third party libs #
|
||||
#############################
|
||||
|
||||
# ---------------------------------------------------------------------------------------------
|
||||
# OpenCV
|
||||
#
|
||||
set(ODM_OpenCV_RequiredVersion 2.4.11)
|
||||
|
||||
find_package( OpenCV ${ODM_OpenCV_RequiredVersion} EXACT QUIET)
|
||||
|
||||
if(${OpenCV_FOUND})
|
||||
message(STATUS "OpenCV found --- ${OpenCV_VERSION} ( < ${ODM_OpenCV_RequiredVersion} )")
|
||||
set(OPENCV_DIR ${OpenCV_DIR})
|
||||
else()
|
||||
message(STATUS "OpenCV not found --> Adding External project - OpenCV ${ODM_OpenCV_RequiredVersion}")
|
||||
include(External-OpenCV)
|
||||
endif()
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------------------------
|
||||
# Point Cloud Library (PCL)
|
||||
#
|
||||
set(ODM_PCL_RequiredVersion 1.7.2)
|
||||
|
||||
find_package( PCL ${ODM_PCL_RequiredVersion} EXACT QUIET)
|
||||
|
||||
if(${PCL_FOUND})
|
||||
message(STATUS "PCL found --- ${PCL_VERSION} ( < ${ODM_PCL_RequiredVersion} )")
|
||||
set(PCL_DIR ${PCL_DIR})
|
||||
else()
|
||||
message(STATUS "PCL not found --> Adding External project - PCL ${ODM_PCL_RequiredVersion}")
|
||||
include(External-PCL)
|
||||
endif()
|
Ładowanie…
Reference in New Issue