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 PETSC_INCLUDE_DIR
NAMES petsc.h NAMES petsc.h
PATHS /usr/include/petsc/ PATHS /usr/include/petsc/
$ENV{PETSC_DIR} $ENV{PETSC_DIR}/include
) )
FIND_PATH( FIND_PATH(
PETSCCONF_INCLUDE_DIR PETSCCONF_INCLUDE_DIR
NAMES petscconf.h NAMES petscconf.h
PATHS /usr/include/petsc/ PATHS /usr/include/petsc/
$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/include
) )
IF( PETSCCONF_INCLUDE_DIR EQUAL PETSC_INCLUDE_DIR ) IF( PETSCCONF_INCLUDE_DIR EQUAL PETSC_INCLUDE_DIR )
@ -25,14 +26,13 @@ IF ( HAVE_PETSC_H )
ADD_DEFINITIONS( -DHAVE_PETSC_H -DHAVE_PETSC ) ADD_DEFINITIONS( -DHAVE_PETSC_H -DHAVE_PETSC )
ENDIF( HAVE_PETSC_H ) 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_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_PETSC petsc PATHS /usr/lib $ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib)
FIND_LIBRARY(PETSC_LIB_PETSCDM petscdm PATHS /usr/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) 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) 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) 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) FIND_LIBRARY(PETSC_LIB_PETSCSNES petscsnes PATHS /usr/lib $ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib)
IF(PETSC_LIB_PETSC) IF(PETSC_LIB_PETSC)
SET(PETSC_LIBRARIES ${PETSC_LIBRARIES} ${PETSC_LIB_PETSC}) SET(PETSC_LIBRARIES ${PETSC_LIBRARIES} ${PETSC_LIB_PETSC})
@ -57,3 +57,10 @@ ENDIF(PETSC_LIB_PETSCKSP)
IF(PETSC_LIB_PETSCSNES) IF(PETSC_LIB_PETSCSNES)
SET(PETSC_LIBRARIES ${PETSC_LIBRARIES} ${PETSC_LIB_PETSCSNES}) SET(PETSC_LIBRARIES ${PETSC_LIBRARIES} ${PETSC_LIB_PETSCSNES})
ENDIF(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})