Skip to content

Commit

Permalink
Merge branch 'mikrosimage-cmake_install' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
pmoulon committed Jan 26, 2015
2 parents 263a901 + f9eff20 commit c4efb05
Show file tree
Hide file tree
Showing 21 changed files with 210 additions and 142 deletions.
6 changes: 3 additions & 3 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,6 @@ MACRO (UNIT_TEST NAMESPACE NAME EXTRA_LIBS)
ENDIF (OpenMVG_BUILD_TESTS)
ENDMACRO (UNIT_TEST)


# Configure Eigen to use only MPL2 licensed code
ADD_DEFINITIONS(-DEIGEN_MPL2_ONLY)

Expand Down Expand Up @@ -216,7 +215,7 @@ SET(OpenMVG_LIBS
openMVG_system)

FOREACH(omvglib ${OpenMVG_LIBS})
SET_PROPERTY(TARGET ${omvglib} PROPERTY FOLDER OpenMVG/OpenMVG)
SET_PROPERTY(TARGET ${omvglib} PROPERTY FOLDER OpenMVG/OpenMVG)
ENDFOREACH()

# concat lists
Expand All @@ -227,7 +226,8 @@ SET(OpenMVG_LIBS "${OpenMVG_LIBS}"
stlplus
flann_cpp_s
ceres
lemon)
lemon
easyexif)
SET(OpenMVG_LIBS "${OpenMVG_LIBS}"
${OPENMVG_LIBRARY_DEPENDENCIES} CACHE STRING "openMVG library names")

Expand Down
73 changes: 73 additions & 0 deletions src/cmakeFindModules/FindOpenMVG.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Locate the openMVG libraries.
#
# Defines the following variables:
#
# OPENMVG_FOUND - TRUE if the openMVG headers and libs are found
# OPENMVG_INCLUDE_DIRS - The path to openMVG headers
#
# OPENMVG_LIBRARIES - All openMVG libraries
# OPENMVG_LIBRARY_DIR - The directory where the libraries are located
#
# Accepts the following variables as input:
#
# OPENMVG_DIR - (as a CMake or environment variable)
# The root directory of the openMVG install prefix

MESSAGE(STATUS "Looking for OpenMVG.")

FIND_PATH(OPENMVG_INCLUDE_DIR openMVG/version.h
HINTS
$ENV{OPENMVG_DIR}/include
${OPENMVG_DIR}/include
PATH_SUFFIXES
openMVG
)

IF(OPENMVG_INCLUDE_DIR)
MESSAGE(STATUS "OpenMVG headers found in ${OPENMVG_INCLUDE_DIRS}")
ELSE()
MESSAGE(STATUS "NOT FOUND")
ENDIF (OPENMVG_INCLUDE_DIR)

SET(OPENMVG_LIBRARIES_NAMES
openMVG_numeric
openMVG_system
openMVG_image
openMVG_kvld
openMVG_lInftyComputerVision
openMVG_multiview
#find third_party libraries
ceres
stlplus
easyexif
lemon)

FIND_LIBRARY(OPENMVG_LIBRARY NAMES ${OPENMVG_LIBRARIES_NAMES}
HINTS
$ENV{OPENMVG_DIR}/lib
${OPENMVG_DIR}/lib
PATH_SUFFIXES
openMVG
)
GET_FILENAME_COMPONENT(OPENMVG_LIBRARY_DIR "${OPENMVG_LIBRARY}" PATH)

SET(OPENMVG_LIBRARY "")
FOREACH(lib ${OPENMVG_LIBRARIES_NAMES})
LIST(APPEND OPENMVG_LIBRARY ${lib})
ENDFOREACH()

SET(OPENMVG_LIBRARIES ${OPENMVG_LIBRARY})
SET(OPENMVG_INCLUDE_DIRS ${OPENMVG_INCLUDE_DIR})

IF(OPENMVG_LIBRARY)
MESSAGE(STATUS "OpenMVG libraries found: ${OPENMVG_LIBRARY}")
MESSAGE(STATUS "OpenMVG libraries directories: ${OPENMVG_LIBRARY_DIR}")
ENDIF (OPENMVG_LIBRARY)

include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set OPENMVG_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(OpenMVG DEFAULT_MSG
OPENMVG_LIBRARY OPENMVG_INCLUDE_DIR)

MARK_AS_ADVANCED(OPENMVG_INCLUDE_DIR OPENMVG_LIBRARY)
8 changes: 8 additions & 0 deletions src/openMVG/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,11 @@ ADD_SUBDIRECTORY(system)

# set the variable in the parent_scope
SET(openMVG_linearProgramming ${openMVG_linearProgramming} PARENT_SCOPE)

#INSTALL RULES
INSTALL(
DIRECTORY .
DESTINATION include/openMVG
COMPONENT headers
FILES_MATCHING PATTERN "*.hpp" PATTERN "*.h"
)
1 change: 1 addition & 0 deletions src/openMVG/image/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ list(REMOVE_ITEM image_files_cpp ${REMOVEFILESUNITTEST})

ADD_LIBRARY(openMVG_image ${image_files_header} ${image_files_cpp})
TARGET_LINK_LIBRARIES(openMVG_image ${PNG_LIBRARIES} ${JPEG_LIBRARY} ${TIFF_LIBRARIES})
INSTALL(TARGETS openMVG_image DESTINATION lib/)

UNIT_TEST(openMVG image "openMVG_numeric;openMVG_image")
UNIT_TEST(openMVG image_drawing "openMVG_numeric;openMVG_image")
Expand Down
5 changes: 3 additions & 2 deletions src/openMVG/linearProgramming/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,9 @@ IF (NOT MOSEK_FOUND)
ELSE (NOT MOSEK_FOUND)
# MOSEK_FOUND is true
ADD_LIBRARY(openMVG_linearProgrammingMSK ${linearProgramming_headers} ${linearProgramming_cpp})

SET_PROPERTY(TARGET openMVG_linearProgrammingMSK PROPERTY FOLDER OpenMVG/OpenMVG)
INSTALL(TARGETS openMVG_linearProgrammingMSK DESTINATION lib/)

SET(openMVG_linearProgramming
lib_Osi_Msk # OSI solver wrapper for the Mosek backend
lib_OsiClpSolver # solver wrapper
Expand All @@ -42,7 +44,6 @@ ELSE (NOT MOSEK_FOUND)
openMVG_linearProgrammingMSK # openMVG Mosek wrapper
${MOSEK_LIB} # Mosek lib
)

ENDIF (NOT MOSEK_FOUND)

# set the variable in the parent_scope
Expand Down
3 changes: 2 additions & 1 deletion src/openMVG/linearProgramming/lInfinityCV/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,14 @@ IF (MSVC)
ENDIF (MSVC)

ADD_LIBRARY(openMVG_lInftyComputerVision ${lInftycomputervision_headers} ${lInftycomputervision_cpp})
INSTALL(TARGETS openMVG_lInftyComputerVision DESTINATION lib/)

SET(LOCAL_LIBS
openMVG_multiview_test_data
openMVG_multiview
openMVG_lInftyComputerVision
${openMVG_linearProgramming})

# Linfinity Triangulation
UNIT_TEST(openMVG_lInftyCV triangulation "${LOCAL_LIBS}")

Expand Down
3 changes: 1 addition & 2 deletions src/openMVG/matching/kvld/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

ADD_LIBRARY(openMVG_kvld kvld.cpp kvld.h algorithm.cpp algorithm.h)
TARGET_LINK_LIBRARIES(openMVG_kvld openMVG_image)
SET_PROPERTY(TARGET openMVG_kvld PROPERTY FOLDER OpenMVG/OpenMVG)

INSTALL(TARGETS openMVG_kvld DESTINATION lib/)
18 changes: 10 additions & 8 deletions src/openMVG/multiview/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@

file(
GLOB_RECURSE
multiview_files_header
*.hpp
GLOB_RECURSE
multiview_files_header
*.hpp
)
file(
GLOB_RECURSE
multiview_files_cpp
*.cpp
GLOB_RECURSE
multiview_files_cpp
*.cpp
)
file(GLOB_RECURSE REMOVEFILESUNITTEST *_test.cpp)
file(GLOB_RECURSE MULTIVIEWTESTDATA *_data_sets*)
Expand All @@ -17,8 +17,10 @@ list(REMOVE_ITEM multiview_files_cpp ${REMOVEFILESUNITTEST})
list(REMOVE_ITEM multiview_files_cpp ${MULTIVIEWTESTDATA})

ADD_LIBRARY(openMVG_multiview
${multiview_files_header}
${multiview_files_cpp})
${multiview_files_header}
${multiview_files_cpp})
SET_PROPERTY(TARGET openMVG_multiview PROPERTY FOLDER OpenMVG)
INSTALL(TARGETS openMVG_multiview DESTINATION lib/)

#Make multiview library integrate numeric library
ADD_LIBRARY(openMVG_multiview_test_data ${MULTIVIEWTESTDATA})
Expand Down
5 changes: 3 additions & 2 deletions src/openMVG/numeric/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
ADD_LIBRARY(openMVG_numeric
numeric.cpp
numeric.h)
numeric.cpp
numeric.h)
SET_PROPERTY(TARGET openMVG_numeric PROPERTY FOLDER OpenMVG/OpenMVG)
INSTALL(TARGETS openMVG_numeric DESTINATION lib/)

UNIT_TEST(openMVG numeric openMVG_numeric)
UNIT_TEST(openMVG poly openMVG_numeric)
Expand Down
17 changes: 9 additions & 8 deletions src/openMVG/system/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@

file(
GLOB_RECURSE
system_files_header
*.hpp
GLOB_RECURSE
system_files_header
*.hpp
)
file(
GLOB_RECURSE
system_files_cpp
*.cpp
GLOB_RECURSE
system_files_cpp
*.cpp
)

ADD_LIBRARY(openMVG_system
${sytem_files_header}
${system_files_cpp})
${sytem_files_header}
${system_files_cpp})
SET_PROPERTY(TARGET openMVG_system PROPERTY FOLDER OpenMVG/OpenMVG)
INSTALL(TARGETS openMVG_system DESTINATION lib/)
23 changes: 23 additions & 0 deletions src/openMVG/version.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// Copyright (c) 2015 Pierre MOULON.

// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.

#ifndef OPENMVG_VERSION_H_
#define OPENMVG_VERSION_H_

#define OPENMVG_VERSION_MAJOR 0
#define OPENMVG_VERSION_MINOR 8
#define OPENMVG_VERSION_REVISION 0

// Preprocessor to string conversion
#define OPENMVG_TO_STRING_HELPER(x) #x
#define OPENMVG_TO_STRING(x) OPENMVG_TO_STRING_HELPER(x)

// OpenMVG version as a string; for example "0.8.0".
#define OPENMVG_VERSION_STRING CERES_TO_STRING(OPENMVG_VERSION_MAJOR) "." \
CERES_TO_STRING(OPENMVG_VERSION_MINOR) "." \
CERES_TO_STRING(OPENMVG_VERSION_REVISION)

#endif // OPENMVG_VERSION_H_
39 changes: 33 additions & 6 deletions src/software/SfM/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@

ADD_EXECUTABLE(openMVG_main_CreateList main_CreateList.cpp)
TARGET_LINK_LIBRARIES(openMVG_main_CreateList
${OpenMVG_LIBS} easyexif)
${OpenMVG_LIBS})
SET_PROPERTY(TARGET openMVG_main_CreateList PROPERTY FOLDER OpenMVG/software)

INSTALL(TARGETS openMVG_main_CreateList DESTINATION bin/)

#Add executable that computes:
# - features and descriptors
# - putatives matches
Expand All @@ -14,6 +16,8 @@ TARGET_LINK_LIBRARIES(openMVG_main_computeMatches
${OpenMVG_LIBS})
SET_PROPERTY(TARGET openMVG_main_computeMatches PROPERTY FOLDER OpenMVG/software)

INSTALL(TARGETS openMVG_main_computeMatches DESTINATION bin/)

#Add library and executable that perform SfM:
# - the required input is matches computed by openMVG_main_computeMatches
#
Expand All @@ -25,6 +29,9 @@ TARGET_LINK_LIBRARIES(openMVG_main_IncrementalSfM
SET_PROPERTY(TARGET openMVG_main_IncrementalSfM PROPERTY FOLDER OpenMVG/software)
SET_PROPERTY(TARGET openMVG_SfM_Sequential PROPERTY FOLDER OpenMVG/OpenMVG)

INSTALL(TARGETS openMVG_SfM_Sequential DESTINATION lib/)
INSTALL(TARGETS openMVG_main_IncrementalSfM DESTINATION bin/)

#---------
# Tools to visualize feature tracking data
# - View of the extracted Keypoints
Expand All @@ -39,34 +46,44 @@ TARGET_LINK_LIBRARIES(openMVG_main_exportKeypoints
${OpenMVG_LIBS})
SET_PROPERTY(TARGET openMVG_main_exportKeypoints PROPERTY FOLDER OpenMVG/software)

INSTALL(TARGETS openMVG_main_exportKeypoints DESTINATION bin/)

# - View of the computed matches (putatives, geometrics) per image pair
#
ADD_EXECUTABLE(openMVG_main_exportMatches main_exportMatches.cpp)
TARGET_LINK_LIBRARIES(openMVG_main_exportMatches
${OpenMVG_LIBS})
SET_PROPERTY(TARGET openMVG_main_exportMatches PROPERTY FOLDER OpenMVG/software)

INSTALL(TARGETS openMVG_main_exportMatches DESTINATION bin/)

# - View of the tracks per image pair
#
ADD_EXECUTABLE(openMVG_main_exportTracks main_exportTracks.cpp)
TARGET_LINK_LIBRARIES(openMVG_main_exportTracks
${OpenMVG_LIBS})
SET_PROPERTY(TARGET openMVG_main_exportTracks PROPERTY FOLDER OpenMVG/software)

INSTALL(TARGETS openMVG_main_exportTracks DESTINATION bin/)

# - Export a computed SfM_Ouput scene to PMVS format
#
ADD_EXECUTABLE(openMVG_main_openMVG2PMVS main_openMVG2PMVS.cpp)
TARGET_LINK_LIBRARIES(openMVG_main_openMVG2PMVS
${OpenMVG_LIBS})
SET_PROPERTY(TARGET openMVG_main_openMVG2PMVS PROPERTY FOLDER OpenMVG/software)

INSTALL(TARGETS openMVG_main_openMVG2PMVS DESTINATION bin/)

# - Export a computed SfM_Ouput scene to CMPMVS format
#
ADD_EXECUTABLE(openMVG_main_openMVG2CMPMVS main_openMVG2CMPMVS.cpp)
TARGET_LINK_LIBRARIES(openMVG_main_openMVG2CMPMVS
${OpenMVG_LIBS})
SET_PROPERTY(TARGET openMVG_main_openMVG2CMPMVS PROPERTY FOLDER OpenMVG/software)

INSTALL(TARGETS openMVG_main_openMVG2CMPMVS DESTINATION bin/)

# -
# Use openCV Feature detector with the openMVG matching framework
# -
Expand All @@ -77,12 +94,15 @@ IF(USE_OPENCV)
MESSAGE(STATUS "WARNING: OpenCV was not found. ")
ELSE(NOT OpenCV_FOUND)

ADD_EXECUTABLE(openMVG_main_computeMatches_OpenCV main_computeMatches_OpenCV.cpp)
TARGET_LINK_LIBRARIES(openMVG_main_computeMatches_OpenCV
${OpenMVG_LIBS}
${OpenCV_LIBS})
ADD_EXECUTABLE(openMVG_main_computeMatches_OpenCV main_computeMatches_OpenCV.cpp)
TARGET_LINK_LIBRARIES(openMVG_main_computeMatches_OpenCV
${OpenMVG_LIBS}
${OpenCV_LIBS})

SET_PROPERTY(TARGET openMVG_main_computeMatches_OpenCV PROPERTY FOLDER OpenMVG/software)

INSTALL(TARGETS openMVG_main_computeMatches_OpenCV DESTINATION bin/)

SET_PROPERTY(TARGET openMVG_main_computeMatches_OpenCV PROPERTY FOLDER OpenMVG/software)
ENDIF(NOT OpenCV_FOUND)
ENDIF(USE_OPENCV)

Expand All @@ -94,12 +114,19 @@ TARGET_LINK_LIBRARIES(openMVG_main_openMVG2MESHLAB
${OpenMVG_LIBS})
SET_PROPERTY(TARGET openMVG_main_openMVG2MESHLAB PROPERTY FOLDER OpenMVG/software)

INSTALL(TARGETS openMVG_main_openMVG2MESHLAB DESTINATION bin/)

# - Quality comparison against a GT camera path (MultiView Evaluation dataset)
#
ADD_EXECUTABLE(openMVG_main_evalQuality main_evalQuality.cpp)
TARGET_LINK_LIBRARIES(openMVG_main_evalQuality
${OpenMVG_LIBS})
SET_PROPERTY(TARGET openMVG_main_evalQuality PROPERTY FOLDER OpenMVG/software)

INSTALL(TARGETS openMVG_main_evalQuality DESTINATION bin/)


UNIT_TEST(openMVG SfMIOHelper "stlplus")

INSTALL(FILES cameraSensorWidth/cameraGenerated.txt DESTINATION resources/)

2 changes: 2 additions & 0 deletions src/software/SfMViewer/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,5 @@ TARGET_LINK_LIBRARIES(openMVG_main_sfmViewer
openMVG_image
)
SET_PROPERTY(TARGET openMVG_main_sfmViewer PROPERTY FOLDER OpenMVG/software)

INSTALL(TARGETS openMVG_main_sfmViewer DESTINATION bin/)
2 changes: 2 additions & 0 deletions src/software/colorHarmonize/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ TARGET_LINK_LIBRARIES(openMVG_main_ColHarmonize
openMVG_kvld)

SET_PROPERTY(TARGET openMVG_main_ColHarmonize PROPERTY FOLDER OpenMVG/software)

INSTALL(TARGETS openMVG_main_ColHarmonize DESTINATION bin/)
2 changes: 2 additions & 0 deletions src/software/globalSfM/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,5 @@ TARGET_LINK_LIBRARIES(
SET_PROPERTY(TARGET openMVG_main_GlobalSfM PROPERTY FOLDER OpenMVG/software)
SET_PROPERTY(TARGET openMVG_SfM_Global PROPERTY FOLDER OpenMVG/OpenMVG)

INSTALL(TARGETS openMVG_SfM_Global DESTINATION lib/)
INSTALL(TARGETS openMVG_main_GlobalSfM DESTINATION bin/)

0 comments on commit c4efb05

Please sign in to comment.