* add cmake files to find (optional) supported libraries

* add unit tests for sparse cholesky
This commit is contained in:
Gael Guennebaud
2008-10-20 10:43:11 +00:00
parent f44316e5f8
commit fa27cd1ed0
10 changed files with 331 additions and 97 deletions

76
cmake/FindCholmod.cmake Normal file
View 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
View 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
View 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
View 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)