Skip to content
Snippets Groups Projects
Commit 4be454f9 authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

trying to fix missing petsc libs, second try

parent ae09dd3f
No related branches found
No related tags found
No related merge requests found
...@@ -44,7 +44,7 @@ option(ENABLE_NETGEN "Enable Netgen mesh generator" ON) ...@@ -44,7 +44,7 @@ option(ENABLE_NETGEN "Enable Netgen mesh generator" ON)
option(ENABLE_OCC "Enable Open CASCADE geometrical models" ON) option(ENABLE_OCC "Enable Open CASCADE geometrical models" ON)
option(ENABLE_OSMESA "Use OSMesa for offscreen rendering" OFF) option(ENABLE_OSMESA "Use OSMesa for offscreen rendering" OFF)
option(ENABLE_PARSER "Build the GEO file parser" ON) option(ENABLE_PARSER "Build the GEO file parser" ON)
option(ENABLE_PETSC "Enable PETSc linear algebra solvers" OFF) option(ENABLE_PETSC "Enable PETSc linear algebra solvers" ON)
option(ENABLE_PLUGINS "Build the post-processing plugins" ON) option(ENABLE_PLUGINS "Build the post-processing plugins" ON)
option(ENABLE_POST "Build the post-processing module" ON) option(ENABLE_POST "Build the post-processing module" ON)
option(ENABLE_QT "Build QT GUI" OFF) option(ENABLE_QT "Build QT GUI" OFF)
...@@ -621,26 +621,31 @@ if(ENABLE_PETSC) ...@@ -621,26 +621,31 @@ if(ENABLE_PETSC)
${PETSC_VARIABLES}) ${PETSC_VARIABLES})
string(REPLACE "PACKAGES_INCLUDES = " "" PETSC_PACKAGES_INCLUDES string(REPLACE "PACKAGES_INCLUDES = " "" PETSC_PACKAGES_INCLUDES
${PETSC_PACKAGES_INCLUDES}) ${PETSC_PACKAGES_INCLUDES})
if (PETSC_PACKAGES_INCLUDES) if(PETSC_PACKAGES_INCLUDES)
string(REPLACE "-I" "" PETSC_PACKAGES_INCLUDES ${PETSC_PACKAGES_INCLUDES}) string(REPLACE "-I" "" PETSC_PACKAGES_INCLUDES ${PETSC_PACKAGES_INCLUDES})
string(REPLACE " " ";" PETSC_PACKAGES_INCLUDES ${PETSC_PACKAGES_INCLUDES}) string(REPLACE " " ";" PETSC_PACKAGES_INCLUDES ${PETSC_PACKAGES_INCLUDES})
foreach(VAR ${PETSC_PACKAGES_INCLUDES}) foreach(VAR ${PETSC_PACKAGES_INCLUDES})
list(APPEND EXTERNAL_INCLUDES ${VAR}) list(APPEND EXTERNAL_INCLUDES ${VAR})
endforeach(VAR) endforeach(VAR)
endif (PETSC_PACKAGES_INCLUDES) endif(PETSC_PACKAGES_INCLUDES)
# find libraries (<= 3.0) # find libraries (<= 3.0)
set(PETSC_LIBS_REQUIRED petscksp petscdm petscmat petscvec petsc) set(PETSC_LIBS_REQUIRED petscksp petscdm petscmat petscvec petsc)
find_all_libraries(PETSC_LIBS PETSC_LIBS_REQUIRED find_all_libraries(PETSC_LIBS PETSC_LIBS_REQUIRED
${ENV_PETSC_DIR}/${ENV_PETSC_ARCH}/lib "") ${ENV_PETSC_DIR}/${ENV_PETSC_ARCH}/lib "")
# petsc 3.1 create only one library (libpetsc) # petsc 3.1 creates only one library (libpetsc)
if (NOT PETSC_LIBS) if(NOT PETSC_LIBS)
find_library (PETSC_LIBS petsc PATHS ${ENV_PETSC_DIR}/${ENV_PETSC_ARCH}/lib) find_library(PETSC_LIBS petsc PATHS ${ENV_PETSC_DIR}/${ENV_PETSC_ARCH}/lib)
endif(NOT PETSC_LIBS) endif(NOT PETSC_LIBS)
string(REGEX MATCH "PACKAGES_LIBS = [^\n\r]*" PETSC_PACKAGES_LIBS list(APPEND EXTERNAL_LIBRARIES ${PETSC_LIBS})
${PETSC_VARIABLES}) # find additional libraries to link with
string(REPLACE "PACKAGES_LIBS = " "" PETSC_PACKAGES_LIBS string(REGEX MATCH "PACKAGES_LIBS = [^\n\r]*" PLIBS ${PETSC_VARIABLES})
${PETSC_PACKAGES_LIBS}) string(REPLACE "PACKAGES_LIBS = " "" PLIBS ${PLIBS})
list(APPEND EXTERNAL_LIBRARIES ${PETSC_LIBS} "${PETSC_PACKAGES_LIBS}") string(STRIP ${PLIBS} PLIBS)
list(APPEND EXTERNAL_LIBRARIES "${PLIBS}")
string(REGEX MATCH "PCC_LINKER_LIBS = [^\n\r]*" LLIBS ${PETSC_VARIABLES})
string(REPLACE "PCC_LINKER_LIBS = " "" LLIBS ${LLIBS})
string(STRIP ${LLIBS} LLIBS)
list(APPEND EXTERNAL_LIBRARIES "${LLIBS}")
endif(EXISTS ${ENV_PETSC_DIR}/${ENV_PETSC_ARCH}/conf/petscvariables) endif(EXISTS ${ENV_PETSC_DIR}/${ENV_PETSC_ARCH}/conf/petscvariables)
endif(ENABLE_PETSC) endif(ENABLE_PETSC)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment