mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
* add cmake files to find (optional) supported libraries
* add unit tests for sparse cholesky
This commit is contained in:
76
cmake/FindCholmod.cmake
Normal file
76
cmake/FindCholmod.cmake
Normal file
@@ -0,0 +1,76 @@
|
||||
|
||||
if (CHOLMOD_INCLUDES AND CHOLMOD_LIBRARIES)
|
||||
set(CHOLMOD_FIND_QUIETLY TRUE)
|
||||
endif (CHOLMOD_INCLUDES AND CHOLMOD_LIBRARIES)
|
||||
|
||||
find_path(CHOLMOD_INCLUDES
|
||||
NAMES
|
||||
cholmod.h
|
||||
PATHS
|
||||
$ENV{CHOLMODDIR}
|
||||
${INCLUDE_INSTALL_DIR}
|
||||
PATH_SUFFIXES
|
||||
suitesparse
|
||||
)
|
||||
|
||||
find_library(CHOLMOD_LIBRARIES cholmod PATHS $ENV{CHOLMODDIR} ${LIB_INSTALL_DIR})
|
||||
|
||||
if(CHOLMOD_LIBRARIES)
|
||||
|
||||
get_filename_component(CHOLMOD_LIBDIR ${CHOLMOD_LIBRARIES} PATH)
|
||||
|
||||
message("found CHOLMOD_LIBRARIES " ${CHOLMOD_LIBRARIES} " in " ${CHOLMOD_LIBDIR})
|
||||
|
||||
find_library(AMD_LIBRARY amd PATHS ${CHOLMOD_LIBDIR} $ENV{CHOLMODDIR} ${LIB_INSTALL_DIR})
|
||||
if (AMD_LIBRARY)
|
||||
set(CHOLMOD_LIBRARIES ${CHOLMOD_LIBRARIES} ${AMD_LIBRARY})
|
||||
message ("AMD_LIBRARY found")
|
||||
else (AMD_LIBRARY)
|
||||
message ("AMD_LIBRARY not found")
|
||||
set(CHOLMOD_LIBRARIES FALSE)
|
||||
endif (AMD_LIBRARY)
|
||||
|
||||
endif(CHOLMOD_LIBRARIES)
|
||||
|
||||
if(CHOLMOD_LIBRARIES)
|
||||
message("CHOLMOD_LIBRARIES still here")
|
||||
|
||||
find_library(COLAMD_LIBRARY colamd PATHS ${CHOLMOD_LIBDIR} $ENV{CHOLMODDIR} ${LIB_INSTALL_DIR})
|
||||
if (COLAMD_LIBRARY)
|
||||
set(CHOLMOD_LIBRARIES ${CHOLMOD_LIBRARIES} ${COLAMD_LIBRARY})
|
||||
else (COLAMD_LIBRARY)
|
||||
set(CHOLMOD_LIBRARIES FALSE)
|
||||
endif (COLAMD_LIBRARY)
|
||||
|
||||
endif(CHOLMOD_LIBRARIES)
|
||||
|
||||
if(CHOLMOD_LIBRARIES)
|
||||
message("CHOLMOD_LIBRARIES still here")
|
||||
find_library(CAMD_LIBRARY camd PATHS ${CHOLMOD_LIBDIR} $ENV{CHOLMODDIR} ${LIB_INSTALL_DIR})
|
||||
if (CAMD_LIBRARY)
|
||||
set(CHOLMOD_LIBRARIES ${CHOLMOD_LIBRARIES} ${CAMD_LIBRARY})
|
||||
else (CAMD_LIBRARY)
|
||||
set(CHOLMOD_LIBRARIES FALSE)
|
||||
endif (CAMD_LIBRARY)
|
||||
|
||||
endif(CHOLMOD_LIBRARIES)
|
||||
|
||||
if(CHOLMOD_LIBRARIES)
|
||||
message("CHOLMOD_LIBRARIES still here (last)")
|
||||
find_library(CCOLAMD_LIBRARY colamd PATHS ${CHOLMOD_LIBDIR} $ENV{CHOLMODDIR} ${LIB_INSTALL_DIR})
|
||||
if (CCOLAMD_LIBRARY)
|
||||
set(CHOLMOD_LIBRARIES ${CHOLMOD_LIBRARIES} ${CCOLAMD_LIBRARY})
|
||||
else (CCOLAMD_LIBRARY)
|
||||
set(CHOLMOD_LIBRARIES FALSE)
|
||||
endif (CCOLAMD_LIBRARY)
|
||||
|
||||
endif(CHOLMOD_LIBRARIES)
|
||||
|
||||
# if(CHOLMOD_LIBRARIES)
|
||||
# endif(CHOLMOD_LIBRARIES)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(CHOLMOD DEFAULT_MSG
|
||||
CHOLMOD_INCLUDES CHOLMOD_LIBRARIES)
|
||||
|
||||
mark_as_advanced(CHOLMOD_INCLUDES CHOLMOD_LIBRARIES AMD_LIBRARY COLAMD_LIBRARY)
|
||||
20
cmake/FindSuperLU.cmake
Normal file
20
cmake/FindSuperLU.cmake
Normal file
@@ -0,0 +1,20 @@
|
||||
|
||||
if (SUPERLU_INCLUDES AND SUPERLU_LIBRARIES)
|
||||
set(SUPERLU_FIND_QUIETLY TRUE)
|
||||
endif (SUPERLU_INCLUDES AND SUPERLU_LIBRARIES)
|
||||
|
||||
find_path(SUPERLU_INCLUDES
|
||||
NAMES
|
||||
superlu/supermatrix.h
|
||||
PATHS
|
||||
$ENV{SUPERLUDIR}
|
||||
${INCLUDE_INSTALL_DIR}
|
||||
)
|
||||
|
||||
find_library(SUPERLU_LIBRARIES superlu PATHS $ENV{SUPERLUDIR} ${LIB_INSTALL_DIR})
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(SUPERLU DEFAULT_MSG
|
||||
SUPERLU_INCLUDES SUPERLU_LIBRARIES)
|
||||
|
||||
mark_as_advanced(SUPERLU_INCLUDES SUPERLU_LIBRARIES)
|
||||
20
cmake/FindTaucs.cmake
Normal file
20
cmake/FindTaucs.cmake
Normal file
@@ -0,0 +1,20 @@
|
||||
|
||||
if (TAUCS_INCLUDES AND TAUCS_LIBRARIES)
|
||||
set(TAUCS_FIND_QUIETLY TRUE)
|
||||
endif (TAUCS_INCLUDES AND TAUCS_LIBRARIES)
|
||||
|
||||
find_path(TAUCS_INCLUDES
|
||||
NAMES
|
||||
taucs.h
|
||||
PATHS
|
||||
$ENV{TAUCSDIR}
|
||||
${INCLUDE_INSTALL_DIR}
|
||||
)
|
||||
|
||||
find_library(TAUCS_LIBRARIES taucs PATHS $ENV{TAUCSDIR} ${LIB_INSTALL_DIR})
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(TAUCS DEFAULT_MSG
|
||||
TAUCS_INCLUDES TAUCS_LIBRARIES)
|
||||
|
||||
mark_as_advanced(TAUCS_INCLUDES TAUCS_LIBRARIES)
|
||||
46
cmake/FindUmfpack.cmake
Normal file
46
cmake/FindUmfpack.cmake
Normal file
@@ -0,0 +1,46 @@
|
||||
|
||||
if (UMFPACK_INCLUDES AND UMFPACK_LIBRARIES)
|
||||
set(UMFPACK_FIND_QUIETLY TRUE)
|
||||
endif (UMFPACK_INCLUDES AND UMFPACK_LIBRARIES)
|
||||
|
||||
find_path(UMFPACK_INCLUDES
|
||||
NAMES
|
||||
umfpack.h
|
||||
PATHS
|
||||
$ENV{UMFPACKDIR}
|
||||
${INCLUDE_INSTALL_DIR}
|
||||
PATH_SUFFIXES
|
||||
suitesparse
|
||||
)
|
||||
|
||||
find_library(UMFPACK_LIBRARIES umfpack PATHS $ENV{UMFPACKDIR} ${LIB_INSTALL_DIR})
|
||||
|
||||
if(UMFPACK_LIBRARIES)
|
||||
|
||||
get_filename_component(UMFPACK_LIBDIR ${UMFPACK_LIBRARIES} PATH)
|
||||
|
||||
find_library(AMD_LIBRARY amd PATHS ${UMFPACK_LIBDIR} $ENV{UMFPACKDIR} ${LIB_INSTALL_DIR})
|
||||
if (AMD_LIBRARY)
|
||||
set(UMFPACK_LIBRARIES ${UMFPACK_LIBRARIES} ${AMD_LIBRARY})
|
||||
else (AMD_LIBRARY)
|
||||
set(UMFPACK_LIBRARIES FALSE)
|
||||
endif (AMD_LIBRARY)
|
||||
|
||||
endif(UMFPACK_LIBRARIES)
|
||||
|
||||
if(UMFPACK_LIBRARIES)
|
||||
|
||||
find_library(COLAMD_LIBRARY colamd PATHS ${UMFPACK_LIBDIR} $ENV{UMFPACKDIR} ${LIB_INSTALL_DIR})
|
||||
if (COLAMD_LIBRARY)
|
||||
set(UMFPACK_LIBRARIES ${UMFPACK_LIBRARIES} ${COLAMD_LIBRARY})
|
||||
else (COLAMD_LIBRARY)
|
||||
set(UMFPACK_LIBRARIES FALSE)
|
||||
endif (COLAMD_LIBRARY)
|
||||
|
||||
endif(UMFPACK_LIBRARIES)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(UMFPACK DEFAULT_MSG
|
||||
UMFPACK_INCLUDES UMFPACK_LIBRARIES)
|
||||
|
||||
mark_as_advanced(UMFPACK_INCLUDES UMFPACK_LIBRARIES AMD_LIBRARY COLAMD_LIBRARY)
|
||||
Reference in New Issue
Block a user