-
Notifications
You must be signed in to change notification settings - Fork 42
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
8 changed files
with
1,126 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
# Look for csparse; note the difference in the directory specifications! | ||
FIND_PATH(CSPARSE_INCLUDE_DIR NAMES cs.h | ||
PATHS | ||
/usr/include/suitesparse | ||
/usr/include | ||
/opt/local/include | ||
/usr/local/include | ||
/sw/include | ||
/usr/include/ufsparse | ||
/opt/local/include/ufsparse | ||
/usr/local/include/ufsparse | ||
/sw/include/ufsparse | ||
/usr/local/include/EXTERNAL/csparse | ||
) | ||
|
||
FIND_LIBRARY(CSPARSE_LIBRARY NAMES cxsparse | ||
PATHS | ||
/usr/lib | ||
/usr/local/lib | ||
/opt/local/lib | ||
/sw/lib | ||
) | ||
|
||
include(FindPackageHandleStandardArgs) | ||
find_package_handle_standard_args(CSPARSE DEFAULT_MSG | ||
CSPARSE_INCLUDE_DIR CSPARSE_LIBRARY) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
# Cholmod lib usually requires linking to a blas and lapack library. | ||
# It is up to the user of this module to find a BLAS and link to it. | ||
|
||
if (CHOLMOD_INCLUDE_DIR AND CHOLMOD_LIBRARIES) | ||
set(CHOLMOD_FIND_QUIETLY TRUE) | ||
endif (CHOLMOD_INCLUDE_DIR AND CHOLMOD_LIBRARIES) | ||
|
||
find_path(CHOLMOD_INCLUDE_DIR | ||
NAMES | ||
cholmod.h | ||
PATHS | ||
$ENV{CHOLMODDIR} | ||
${INCLUDE_INSTALL_DIR} | ||
PATH_SUFFIXES | ||
suitesparse | ||
ufsparse | ||
) | ||
|
||
find_library(CHOLMOD_LIBRARY cholmod PATHS $ENV{CHOLMODDIR} ${LIB_INSTALL_DIR}) | ||
set(CHOLMOD_LIBRARIES ${CHOLMOD_LIBRARY}) | ||
|
||
if(CHOLMOD_LIBRARIES) | ||
|
||
get_filename_component(CHOLMOD_LIBDIR ${CHOLMOD_LIBRARIES} PATH) | ||
|
||
find_library(AMD_LIBRARY amd PATHS ${CHOLMOD_LIBDIR} $ENV{CHOLMODDIR} ${LIB_INSTALL_DIR}) | ||
if (AMD_LIBRARY) | ||
set(CHOLMOD_LIBRARIES ${CHOLMOD_LIBRARIES} ${AMD_LIBRARY}) | ||
else () | ||
set(CHOLMOD_LIBRARIES FALSE) | ||
endif () | ||
|
||
endif(CHOLMOD_LIBRARIES) | ||
|
||
if(CHOLMOD_LIBRARIES) | ||
|
||
find_library(COLAMD_LIBRARY colamd PATHS ${CHOLMOD_LIBDIR} $ENV{CHOLMODDIR} ${LIB_INSTALL_DIR}) | ||
if (COLAMD_LIBRARY) | ||
set(CHOLMOD_LIBRARIES ${CHOLMOD_LIBRARIES} ${COLAMD_LIBRARY}) | ||
else () | ||
set(CHOLMOD_LIBRARIES FALSE) | ||
endif () | ||
|
||
endif(CHOLMOD_LIBRARIES) | ||
|
||
if(CHOLMOD_LIBRARIES) | ||
|
||
find_library(CAMD_LIBRARY camd PATHS ${CHOLMOD_LIBDIR} $ENV{CHOLMODDIR} ${LIB_INSTALL_DIR}) | ||
if (CAMD_LIBRARY) | ||
set(CHOLMOD_LIBRARIES ${CHOLMOD_LIBRARIES} ${CAMD_LIBRARY}) | ||
else () | ||
set(CHOLMOD_LIBRARIES FALSE) | ||
endif () | ||
|
||
endif(CHOLMOD_LIBRARIES) | ||
|
||
if(CHOLMOD_LIBRARIES) | ||
|
||
find_library(CCOLAMD_LIBRARY ccolamd PATHS ${CHOLMOD_LIBDIR} $ENV{CHOLMODDIR} ${LIB_INSTALL_DIR}) | ||
if (CCOLAMD_LIBRARY) | ||
set(CHOLMOD_LIBRARIES ${CHOLMOD_LIBRARIES} ${CCOLAMD_LIBRARY}) | ||
else () | ||
set(CHOLMOD_LIBRARIES FALSE) | ||
endif () | ||
|
||
endif(CHOLMOD_LIBRARIES) | ||
|
||
if(CHOLMOD_LIBRARIES) | ||
|
||
find_library(CHOLMOD_METIS_LIBRARY metis PATHS ${CHOLMOD_LIBDIR} $ENV{CHOLMODDIR} ${LIB_INSTALL_DIR}) | ||
if (CHOLMOD_METIS_LIBRARY) | ||
set(CHOLMOD_LIBRARIES ${CHOLMOD_LIBRARIES} ${CHOLMOD_METIS_LIBRARY}) | ||
endif () | ||
|
||
endif(CHOLMOD_LIBRARIES) | ||
|
||
if(CHOLMOD_LIBRARIES) | ||
find_library(SUITESPARSECONFIG_LIBRARY NAMES suitesparseconfig | ||
PATHS ${CHOLMOD_LIBDIR} $ENV{CHOLMODDIR} ${LIB_INSTALL_DIR}) | ||
if (SUITESPARSECONFIG_LIBRARY) | ||
set(CHOLMOD_LIBRARIES ${CHOLMOD_LIBRARIES} ${SUITESPARSECONFIG_LIBRARY}) | ||
endif () | ||
endif(CHOLMOD_LIBRARIES) | ||
|
||
include(FindPackageHandleStandardArgs) | ||
find_package_handle_standard_args(CHOLMOD DEFAULT_MSG | ||
CHOLMOD_INCLUDE_DIR CHOLMOD_LIBRARIES) | ||
|
||
mark_as_advanced(CHOLMOD_LIBRARIES) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
# Find the header files | ||
|
||
FIND_PATH(G2O_INCLUDE_DIR g2o/core/base_vertex.h | ||
${G2O_ROOT}/include | ||
$ENV{G2O_ROOT}/include | ||
$ENV{G2O_ROOT} | ||
/usr/local/include | ||
/usr/include | ||
/opt/local/include | ||
/sw/local/include | ||
/sw/include | ||
NO_DEFAULT_PATH | ||
) | ||
|
||
# Macro to unify finding both the debug and release versions of the | ||
# libraries; this is adapted from the OpenSceneGraph FIND_LIBRARY | ||
# macro. | ||
|
||
MACRO(FIND_G2O_LIBRARY MYLIBRARY MYLIBRARYNAME) | ||
|
||
FIND_LIBRARY("${MYLIBRARY}_DEBUG" | ||
NAMES "g2o_${MYLIBRARYNAME}_d" | ||
PATHS | ||
${G2O_ROOT}/lib/Debug | ||
${G2O_ROOT}/lib | ||
$ENV{G2O_ROOT}/lib/Debug | ||
$ENV{G2O_ROOT}/lib | ||
NO_DEFAULT_PATH | ||
) | ||
|
||
FIND_LIBRARY("${MYLIBRARY}_DEBUG" | ||
NAMES "g2o_${MYLIBRARYNAME}_d" | ||
PATHS | ||
~/Library/Frameworks | ||
/Library/Frameworks | ||
/usr/local/lib | ||
/usr/local/lib64 | ||
/usr/lib | ||
/usr/lib64 | ||
/opt/local/lib | ||
/sw/local/lib | ||
/sw/lib | ||
) | ||
|
||
FIND_LIBRARY(${MYLIBRARY} | ||
NAMES "g2o_${MYLIBRARYNAME}" | ||
PATHS | ||
${G2O_ROOT}/lib/Release | ||
${G2O_ROOT}/lib | ||
$ENV{G2O_ROOT}/lib/Release | ||
$ENV{G2O_ROOT}/lib | ||
NO_DEFAULT_PATH | ||
) | ||
|
||
FIND_LIBRARY(${MYLIBRARY} | ||
NAMES "g2o_${MYLIBRARYNAME}" | ||
PATHS | ||
~/Library/Frameworks | ||
/Library/Frameworks | ||
/usr/local/lib | ||
/usr/local/lib64 | ||
/usr/lib | ||
/usr/lib64 | ||
/opt/local/lib | ||
/sw/local/lib | ||
/sw/lib | ||
) | ||
|
||
IF(NOT ${MYLIBRARY}_DEBUG) | ||
IF(MYLIBRARY) | ||
SET(${MYLIBRARY}_DEBUG ${MYLIBRARY}) | ||
ENDIF(MYLIBRARY) | ||
ENDIF( NOT ${MYLIBRARY}_DEBUG) | ||
|
||
ENDMACRO(FIND_G2O_LIBRARY LIBRARY LIBRARYNAME) | ||
|
||
# Find the core elements | ||
FIND_G2O_LIBRARY(G2O_STUFF_LIBRARY stuff) | ||
FIND_G2O_LIBRARY(G2O_CORE_LIBRARY core) | ||
|
||
# Find the CLI library | ||
FIND_G2O_LIBRARY(G2O_CLI_LIBRARY cli) | ||
|
||
# Find the pluggable solvers | ||
FIND_G2O_LIBRARY(G2O_SOLVER_CHOLMOD solver_cholmod) | ||
FIND_G2O_LIBRARY(G2O_SOLVER_CSPARSE solver_csparse) | ||
FIND_G2O_LIBRARY(G2O_SOLVER_CSPARSE_EXTENSION csparse_extension) | ||
FIND_G2O_LIBRARY(G2O_SOLVER_DENSE solver_dense) | ||
FIND_G2O_LIBRARY(G2O_SOLVER_PCG solver_pcg) | ||
FIND_G2O_LIBRARY(G2O_SOLVER_SLAM2D_LINEAR solver_slam2d_linear) | ||
FIND_G2O_LIBRARY(G2O_SOLVER_STRUCTURE_ONLY solver_structure_only) | ||
FIND_G2O_LIBRARY(G2O_SOLVER_EIGEN solver_eigen) | ||
|
||
# Find the predefined types | ||
FIND_G2O_LIBRARY(G2O_TYPES_DATA types_data) | ||
FIND_G2O_LIBRARY(G2O_TYPES_ICP types_icp) | ||
FIND_G2O_LIBRARY(G2O_TYPES_SBA types_sba) | ||
FIND_G2O_LIBRARY(G2O_TYPES_SCLAM2D types_sclam2d) | ||
FIND_G2O_LIBRARY(G2O_TYPES_SIM3 types_sim3) | ||
FIND_G2O_LIBRARY(G2O_TYPES_SLAM2D types_slam2d) | ||
FIND_G2O_LIBRARY(G2O_TYPES_SLAM3D types_slam3d) | ||
|
||
# G2O solvers declared found if we found at least one solver | ||
SET(G2O_SOLVERS_FOUND "NO") | ||
IF(G2O_SOLVER_CHOLMOD OR G2O_SOLVER_CSPARSE OR G2O_SOLVER_DENSE OR G2O_SOLVER_PCG OR G2O_SOLVER_SLAM2D_LINEAR OR G2O_SOLVER_STRUCTURE_ONLY OR G2O_SOLVER_EIGEN) | ||
SET(G2O_SOLVERS_FOUND "YES") | ||
ENDIF(G2O_SOLVER_CHOLMOD OR G2O_SOLVER_CSPARSE OR G2O_SOLVER_DENSE OR G2O_SOLVER_PCG OR G2O_SOLVER_SLAM2D_LINEAR OR G2O_SOLVER_STRUCTURE_ONLY OR G2O_SOLVER_EIGEN) | ||
|
||
# G2O itself declared found if we found the core libraries and at least one solver | ||
SET(G2O_FOUND "NO") | ||
IF(G2O_STUFF_LIBRARY AND G2O_CORE_LIBRARY AND G2O_INCLUDE_DIR AND G2O_SOLVERS_FOUND) | ||
SET(G2O_FOUND "YES") | ||
ENDIF(G2O_STUFF_LIBRARY AND G2O_CORE_LIBRARY AND G2O_INCLUDE_DIR AND G2O_SOLVERS_FOUND) |
Oops, something went wrong.