fixed: petsc linking - now grabs the needed info from petscvariables

git-svn-id: http://svn.sintef.no/trondheim/IFEM/trunk@838 e10b68d5-8a6e-419e-a041-bce267b0401d
This commit is contained in:
akva 2011-02-23 15:33:15 +00:00 committed by Knut Morten Okstad
parent cd09432cad
commit 421912afdd

View File

@ -2,12 +2,13 @@ FIND_PATH(
PETSC_INCLUDE_DIR
NAMES petsc.h
PATHS /usr/include/petsc/
$ENV{PETSC_DIR}
$ENV{PETSC_DIR}/include
)
FIND_PATH(
PETSCCONF_INCLUDE_DIR
NAMES petscconf.h
PATHS /usr/include/petsc/
$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/include
)
IF( PETSCCONF_INCLUDE_DIR EQUAL PETSC_INCLUDE_DIR )
@ -25,14 +26,13 @@ IF ( HAVE_PETSC_H )
ADD_DEFINITIONS( -DHAVE_PETSC_H -DHAVE_PETSC )
ENDIF( HAVE_PETSC_H )
#FIND_LIBRARY(PETSC_LIB_MPIUNI mpiuni PATHS /usr/local/petsc-2.3.3-p8/lib/linux-gnu-c-debug QUIET )
FIND_LIBRARY(PETSC_LIB_PETSC petsc PATHS /usr/lib)
FIND_LIBRARY(PETSC_LIB_PETSCDM petscdm PATHS /usr/lib)
FIND_LIBRARY(PETSC_LIB_PETSCVEC petscvec PATHS /usr/lib)
FIND_LIBRARY(PETSC_LIB_PETSCMAT petscmat PATHS /usr/lib)
FIND_LIBRARY(PETSC_LIB_PETSCKSP petscksp PATHS /usr/lib)
FIND_LIBRARY(PETSC_LIB_PETSCSNES petscsnes PATHS /usr/lib)
FIND_LIBRARY(PETSC_LIB_PETSC petsc PATHS /usr/lib $ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib)
FIND_LIBRARY(PETSC_LIB_PETSCDM petscdm PATHS /usr/lib $ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib)
FIND_LIBRARY(PETSC_LIB_PETSCVEC petscvec PATHS /usr/lib $ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib)
FIND_LIBRARY(PETSC_LIB_PETSCMAT petscmat PATHS /usr/lib $ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib)
FIND_LIBRARY(PETSC_LIB_PETSCKSP petscksp PATHS /usr/lib $ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib)
FIND_LIBRARY(PETSC_LIB_PETSCSNES petscsnes PATHS /usr/lib $ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib)
IF(PETSC_LIB_PETSC)
SET(PETSC_LIBRARIES ${PETSC_LIBRARIES} ${PETSC_LIB_PETSC})
@ -57,3 +57,10 @@ ENDIF(PETSC_LIB_PETSCKSP)
IF(PETSC_LIB_PETSCSNES)
SET(PETSC_LIBRARIES ${PETSC_LIBRARIES} ${PETSC_LIB_PETSCSNES})
ENDIF(PETSC_LIB_PETSCSNES)
exec_program("cat $ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/conf/petscvariables | grep PACKAGES_LIBS | awk -F ' = ' '{print $2}'" OUTPUT_VARIABLE PETSC_VARIABLES)
SET(PETSC_LIBRARIES ${PETSC_LIBRARIES} ${PETSC_VARIABLES})
exec_program("cat $ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/conf/petscvariables | grep \"PCC_LINKER_LIBS =\"| awk -F ' = ' '{print $2}'" OUTPUT_VARIABLE PETSC_VARIABLES)
SET(PETSC_LIBRARIES ${PETSC_LIBRARIES} ${PETSC_VARIABLES})