Added: Build system support for forcing the SuperLU version to use

Use -DIFEM_USE_SUPERLU_MT to build with multi-threaded version

Fixed: Some missing FIND_PACKAGE statements in FindIFEMDeps.cmake

git-svn-id: http://svn.sintef.no/trondheim/IFEM/trunk@1843 e10b68d5-8a6e-419e-a041-bce267b0401d
This commit is contained in:
akva
2012-08-07 11:57:35 +00:00
committed by Knut Morten Okstad
parent 243fc38755
commit 3bf1d1bddc
3 changed files with 23 additions and 21 deletions

View File

@@ -6,7 +6,7 @@ IF(CMAKE_Fortran_COMPILER MATCHES ifort)
SET(IFEM_DEPLIBS ${IFEM_DEPLIBS} -lifcore)
ENDIF(CMAKE_Fortran_COMPILER MATCHES ifort)
# And c++ code
# And C++ code
ENABLE_LANGUAGE(CXX)
IF(CMAKE_CXX_COMPILER MATCHES icpc)
SET(IFEM_CXX_FLAGS "${IFEM_CXX_FLAGS} -DUSE_MKL -mkl=sequential")
@@ -59,19 +59,19 @@ IF(TINYXML_INCLUDE_DIR AND TINYXML_LIBRARIES)
ENDIF(TINYXML_INCLUDE_DIR AND TINYXML_LIBRARIES)
# SuperLU
IF(IFEM_USE_SUPERLU)
IF(IFEM_USE_SUPERLU OR IFEM_USE_SUPERLU_MT)
FIND_PACKAGE(SuperLU)
IF(SuperLU_MT_LIBRARIES AND SuperLU_MT_INCLUDES AND IFEM_USE_SUPERLU_MT)
FIND_PACKAGE(Threads REQUIRED)
SET(IFEM_DEPLIBS ${IFEM_DEPLIBS} ${SuperLU_MT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
SET(IFEM_DEPINCLUDES ${IFEM_DEPINCLUDES} ${SuperLU_MT_INCLUDES})
SET(IFEM_BUILD_CXX_FLAGS "${IFEM_BUILD_CXX_FLAGS} -DHAS_SUPERLU_MT")
ELSEIF(SuperLU_LIBRARIES AND SuperLU_INCLUDES AND IFEM_USE_SUPERLU_MT)
ELSEIF(SuperLU_LIBRARIES AND SuperLU_INCLUDES)
SET(IFEM_DEPLIBS ${IFEM_DEPLIBS} ${SuperLU_LIBRARIES})
SET(IFEM_DEPINCLUDES ${IFEM_DEPINCLUDES} ${SuperLU_INCLUDES})
SET(IFEM_BUILD_CXX_FLAGS "${IFEM_BUILD_CXX_FLAGS} -DHAS_SUPERLU")
ENDIF(SuperLU_MT_LIBRARIES AND SuperLU_MT_INCLUDES AND IFEM_USE_SUPERLU_MT)
ENDIF(IFEM_USE_SUPERLU)
ENDIF(IFEM_USE_SUPERLU OR IFEM_USE_SUPERLU_MT)
# LR splines
IF(IFEM_USE_LRSPLINES)
@@ -114,6 +114,7 @@ ENDIF(IFEM_USE_PETSC)
# SPR
IF(IFEM_USE_SPR)
FIND_PACKAGE(SPR)
IF(SPR_LIBRARIES)
SET(IFEM_DEPLIBS ${IFEM_DEPLIBS} ${SPR_LIBRARIES})
SET(IFEM_BUILD_CXX_FLAGS "${IFEM_BUILD_CXX_FLAGS} -DHAS_SPR -DUSE_F77SAM")
@@ -121,11 +122,14 @@ IF(IFEM_USE_SPR)
ENDIF(IFEM_USE_SPR)
# SAMG
IF(SAMG_LIBRARIES AND SAMG_INCLUDES)
SET(IFEM_DEPLIBS ${IFEM_DEPLIBS} ${SAMG_LIBRARIES})
SET(IFEM_DEPINCLUDES ${IFEM_DEPINCLUDES} ${SAMG_INCLUDES})
SET(IFEM_BUILD_CXX_FLAGS "${IFEM_BUILD_CXX_FLAGS} -DHAS_SAMG -DSAMG_UNIX_LINUX=1 -DSAMG_LCASE_USCORE")
ENDIF(SAMG_LIBRARIES AND SAMG_INCLUDES)
IF(IFEM_USE_SAMG)
FIND_PACKAGE(SAMG)
IF(SAMG_LIBRARIES AND SAMG_INCLUDES)
SET(IFEM_DEPLIBS ${IFEM_DEPLIBS} ${SAMG_LIBRARIES})
SET(IFEM_DEPINCLUDES ${IFEM_DEPINCLUDES} ${SAMG_INCLUDES})
SET(IFEM_BUILD_CXX_FLAGS "${IFEM_BUILD_CXX_FLAGS} -DHAS_SAMG -DSAMG_UNIX_LINUX=1 -DSAMG_LCASE_USCORE")
ENDIF(SAMG_LIBRARIES AND SAMG_INCLUDES)
ENDIF(IFEM_USE_SAMG)
# VTFWriter
IF(IFEM_USE_VTFWRITER)

View File

@@ -8,6 +8,11 @@ FIND_PATH(SuperLU_INCLUDES
/sima/libs/SuperLU/include
PATH_SUFFIXES superlu
)
FIND_LIBRARY(SuperLU_LIBRARIES
NAMES superlu
PATHS $ENV{HOME}/lib
/sima/libs/SuperLU/lib
)
FIND_PATH(SuperLU_MT_INCLUDES
NAMES pdsp_defs.h
@@ -15,13 +20,6 @@ FIND_PATH(SuperLU_MT_INCLUDES
/sima/libs/SuperLU_MT/include
PATH_SUFFIXES superlu_mt superlu
)
FIND_LIBRARY(SuperLU_LIBRARIES
NAMES superlu
PATHS $ENV{HOME}/lib
/sima/libs/SuperLU/lib
)
FIND_LIBRARY(SuperLU_MT_LIBRARIES
NAMES superlu_mt
PATHS $ENV{HOME}/lib
@@ -34,7 +32,7 @@ IF(SuperLU_LIBRARIES)
SuperLU_INCLUDES SuperLU_LIBRARIES)
ENDIF(SuperLU_LIBRARIES)
IF(SuperLU_MT_LIBRARIES)
find_package_handle_standard_args(SuperLU DEFAULT_MSG
find_package_handle_standard_args(SuperLU_MT DEFAULT_MSG
SuperLU_MT_INCLUDES SuperLU_MT_LIBRARIES)
ENDIF(SuperLU_MT_LIBRARIES)

View File

@@ -1,11 +1,11 @@
OPTION(IFEM_USE_HDF5 "Compile with HDF5 support?" ON)
OPTION(IFEM_USE_SUPERLU "Compile with SuperLU support?" ON)
OPTION(IFEM_USE_SUPERLU_MT "Compile with SuperLU-MT support?" ON)
OPTION(IFEM_USE_OPENMP "Compile with OpenMP support?" ON)
OPTION(IFEM_USE_LRSPLINES "Compile with LR-splines support?" ON)
OPTION(IFEM_USE_SUPERLU "Compile with SuperLU support?" ON)
OPTION(IFEM_USE_SUPERLU_MT "Compile with SuperLU_MT support?" OFF)
OPTION(IFEM_USE_PETSC "Compile with PETSc support?" ON)
OPTION(IFEM_USE_PARALLEL_PETSC "Compile with parallel PETSc support?" OFF)
OPTION(IFEM_USE_SLEPC "Compile with SLEPc support?" OFF)
OPTION(IFEM_USE_SPR "Compile with SPR support?" OFF)
OPTION(IFEM_USE_SAMG "Compile with SAMG support?" OFF)
OPTION(IFEM_USE_HDF5 "Compile with HDF5 support?" ON)
OPTION(IFEM_USE_VTFWRITER "Compile with VTFWriter support?" ON)
OPTION(IFEM_USE_OPENMP "Compile with OpenMP support?" ON)