source: pacpussensors/trunk/Vislab/lib3dv/eigen/cmake/FindCholmod.cmake@ 136

Last change on this file since 136 was 136, checked in by ldecherf, 7 years ago

Doc

File size: 2.5 KB
Line 
1# Cholmod lib usually requires linking to a blas and lapack library.
2# It is up to the user of this module to find a BLAS and link to it.
3
4if (CHOLMOD_INCLUDES AND CHOLMOD_LIBRARIES)
5 set(CHOLMOD_FIND_QUIETLY TRUE)
6endif (CHOLMOD_INCLUDES AND CHOLMOD_LIBRARIES)
7
8find_path(CHOLMOD_INCLUDES
9 NAMES
10 cholmod.h
11 PATHS
12 $ENV{CHOLMODDIR}
13 ${INCLUDE_INSTALL_DIR}
14 PATH_SUFFIXES
15 suitesparse
16 ufsparse
17)
18
19find_library(CHOLMOD_LIBRARIES cholmod PATHS $ENV{CHOLMODDIR} ${LIB_INSTALL_DIR})
20
21if(CHOLMOD_LIBRARIES)
22
23 get_filename_component(CHOLMOD_LIBDIR ${CHOLMOD_LIBRARIES} PATH)
24
25 find_library(AMD_LIBRARY amd PATHS ${CHOLMOD_LIBDIR} $ENV{CHOLMODDIR} ${LIB_INSTALL_DIR})
26 if (AMD_LIBRARY)
27 set(CHOLMOD_LIBRARIES ${CHOLMOD_LIBRARIES} ${AMD_LIBRARY})
28 else ()
29 set(CHOLMOD_LIBRARIES FALSE)
30 endif ()
31
32endif(CHOLMOD_LIBRARIES)
33
34if(CHOLMOD_LIBRARIES)
35
36 find_library(COLAMD_LIBRARY colamd PATHS ${CHOLMOD_LIBDIR} $ENV{CHOLMODDIR} ${LIB_INSTALL_DIR})
37 if (COLAMD_LIBRARY)
38 set(CHOLMOD_LIBRARIES ${CHOLMOD_LIBRARIES} ${COLAMD_LIBRARY})
39 else ()
40 set(CHOLMOD_LIBRARIES FALSE)
41 endif ()
42
43endif(CHOLMOD_LIBRARIES)
44
45if(CHOLMOD_LIBRARIES)
46
47 find_library(CAMD_LIBRARY camd PATHS ${CHOLMOD_LIBDIR} $ENV{CHOLMODDIR} ${LIB_INSTALL_DIR})
48 if (CAMD_LIBRARY)
49 set(CHOLMOD_LIBRARIES ${CHOLMOD_LIBRARIES} ${CAMD_LIBRARY})
50 else ()
51 set(CHOLMOD_LIBRARIES FALSE)
52 endif ()
53
54endif(CHOLMOD_LIBRARIES)
55
56if(CHOLMOD_LIBRARIES)
57
58 find_library(CCOLAMD_LIBRARY ccolamd PATHS ${CHOLMOD_LIBDIR} $ENV{CHOLMODDIR} ${LIB_INSTALL_DIR})
59 if (CCOLAMD_LIBRARY)
60 set(CHOLMOD_LIBRARIES ${CHOLMOD_LIBRARIES} ${CCOLAMD_LIBRARY})
61 else ()
62 set(CHOLMOD_LIBRARIES FALSE)
63 endif ()
64
65endif(CHOLMOD_LIBRARIES)
66
67if(CHOLMOD_LIBRARIES)
68
69 find_library(CHOLMOD_METIS_LIBRARY metis PATHS ${CHOLMOD_LIBDIR} $ENV{CHOLMODDIR} ${LIB_INSTALL_DIR})
70 if (CHOLMOD_METIS_LIBRARY)
71 set(CHOLMOD_LIBRARIES ${CHOLMOD_LIBRARIES} ${CHOLMOD_METIS_LIBRARY})
72 endif ()
73
74endif(CHOLMOD_LIBRARIES)
75
76if(CHOLMOD_LIBRARIES)
77
78 find_library(SUITESPARSE_LIBRARY SuiteSparse PATHS ${CHOLMOD_LIBDIR} $ENV{CHOLMODDIR} ${LIB_INSTALL_DIR})
79 if (SUITESPARSE_LIBRARY)
80 set(CHOLMOD_LIBRARIES ${CHOLMOD_LIBRARIES} ${SUITESPARSE_LIBRARY})
81 endif (SUITESPARSE_LIBRARY)
82
83endif(CHOLMOD_LIBRARIES)
84
85include(FindPackageHandleStandardArgs)
86find_package_handle_standard_args(CHOLMOD DEFAULT_MSG
87 CHOLMOD_INCLUDES CHOLMOD_LIBRARIES)
88
89mark_as_advanced(CHOLMOD_INCLUDES CHOLMOD_LIBRARIES AMD_LIBRARY COLAMD_LIBRARY SUITESPARSE_LIBRARY CAMD_LIBRARY CCOLAMD_LIBRARY CHOLMOD_METIS_LIBRARY)
Note: See TracBrowser for help on using the repository browser.