aboutsummaryrefslogtreecommitdiffhomepage
path: root/cmake/FindSuperLU.cmake
blob: e10561b6021b71333e40a83ff12a374de56ec7ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

if (SUPERLU_INCLUDES AND SUPERLU_LIBRARIES)
  set(SUPERLU_FIND_QUIETLY TRUE)
endif (SUPERLU_INCLUDES AND SUPERLU_LIBRARIES)

find_package(BLAS)

if(BLAS_FOUND)
  
  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})

  if(SUPERLU_LIBRARIES AND CMAKE_COMPILER_IS_GNUCXX)
    set(SUPERLU_LIBRARIES ${SUPERLU_LIBRARIES} -lgfortran)
  endif(SUPERLU_LIBRARIES AND CMAKE_COMPILER_IS_GNUCXX)
  
  if(SUPERLU_LIBRARIES)
    set(SUPERLU_LIBRARIES ${SUPERLU_LIBRARIES} ${BLAS_LIBRARIES})
  endif(SUPERLU_LIBRARIES)
  
endif(BLAS_FOUND)

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(SUPERLU DEFAULT_MSG
                                  SUPERLU_INCLUDES SUPERLU_LIBRARIES)

mark_as_advanced(SUPERLU_INCLUDES SUPERLU_LIBRARIES)