diff --git a/CMakeLists.txt b/CMakeLists.txt index 8e49c19e..460e9b1a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -292,20 +292,18 @@ if (SUITESPARSE) # built with SuiteSparse support. # Check for SuiteSparse and dependencies. - find_package(SuiteSparse 4.5.6 COMPONENTS CHOLMOD SPQR - OPTIONAL_COMPONENTS Partition) + find_package(CHOLMOD REQUIRED) + find_package(SPQR REQUIRED) + set(SuiteSparse_FOUND TRUE) + set(SuiteSparse_Partition_FOUND TRUE) + set(SuiteSparse_VERSION ${SUITESPARSE_CONFIG_VERSION}) if (SuiteSparse_FOUND) - set(SuiteSparse_DEPENDENCY "find_dependency(SuiteSparse ${SuiteSparse_VERSION})") + set(SuiteSparse_DEPENDENCY "find_dependency(CHOLMOD) + find_dependency(SPQR)") # By default, if all of SuiteSparse's dependencies are found, Ceres is # built with SuiteSparse support. message("-- Found SuiteSparse ${SuiteSparse_VERSION}, " "building with SuiteSparse.") - - if (SuiteSparse_NO_CMAKE OR NOT SuiteSparse_DIR) - install(FILES ${Ceres_SOURCE_DIR}/cmake/FindSuiteSparse.cmake - ${Ceres_SOURCE_DIR}/cmake/FindMETIS.cmake - DESTINATION ${RELATIVE_CMAKECONFIG_INSTALL_DIR}) - endif (SuiteSparse_NO_CMAKE OR NOT SuiteSparse_DIR) else (SuiteSparse_FOUND) # Disable use of SuiteSparse if it cannot be found and continue. message("-- Did not find all SuiteSparse dependencies, disabling " diff --git a/internal/ceres/CMakeLists.txt b/internal/ceres/CMakeLists.txt index f9fc2415..f457c90c 100644 --- a/internal/ceres/CMakeLists.txt +++ b/internal/ceres/CMakeLists.txt @@ -102,10 +102,6 @@ if (SUITESPARSE AND SuiteSparse_FOUND) add_definitions(-DCERES_SUITESPARSE_VERSION="${SuiteSparse_VERSION}") list(APPEND CERES_LIBRARY_PRIVATE_DEPENDENCIES SuiteSparse::CHOLMOD SuiteSparse::SPQR) - - if (SuiteSparse_Partition_FOUND) - list(APPEND CERES_LIBRARY_PRIVATE_DEPENDENCIES SuiteSparse::Partition) - endif (SuiteSparse_Partition_FOUND) endif (SUITESPARSE AND SuiteSparse_FOUND) if (SuiteSparse_Partition_FOUND OR EIGENMETIS)