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

trying to fix build problem introduced by r9942 (slepc libs need to be linked...

trying to fix build problem introduced by r9942 (slepc libs need to be linked in *before* petsc libs!)
parent b325bc73
No related branches found
No related tags found
No related merge requests found
...@@ -626,6 +626,7 @@ if(ENABLE_PETSC) ...@@ -626,6 +626,7 @@ if(ENABLE_PETSC)
set(ENV_PETSC_DIR $ENV{PETSC_DIR}) set(ENV_PETSC_DIR $ENV{PETSC_DIR})
set(ENV_PETSC_ARCH $ENV{PETSC_ARCH}) set(ENV_PETSC_ARCH $ENV{PETSC_ARCH})
if(EXISTS ${ENV_PETSC_DIR}/${ENV_PETSC_ARCH}/conf/petscvariables) if(EXISTS ${ENV_PETSC_DIR}/${ENV_PETSC_ARCH}/conf/petscvariables)
# old-style PETSc installations (using PETSC_DIR and PETSC_ARCH)
set_config_option(HAVE_PETSC "PETSc") set_config_option(HAVE_PETSC "PETSc")
file(STRINGS ${ENV_PETSC_DIR}/${ENV_PETSC_ARCH}/conf/petscvariables file(STRINGS ${ENV_PETSC_DIR}/${ENV_PETSC_ARCH}/conf/petscvariables
PETSC_VARIABLES NEWLINE_CONSUME) PETSC_VARIABLES NEWLINE_CONSUME)
...@@ -653,6 +654,23 @@ if(ENABLE_PETSC) ...@@ -653,6 +654,23 @@ if(ENABLE_PETSC)
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)
# find slepc (needs to be linked in before petsc)
if(ENABLE_SLEPC)
set(ENV_SLEPC_DIR $ENV{SLEPC_DIR})
find_library(SLEPC_LIB slepc PATHS ${ENV_SLEPC_DIR}/${ENV_PETSC_ARCH}/lib)
if(SLEPC_LIB)
find_path(SLEPC_INC "slepc.h" PATHS ${ENV_SLEPC_DIR} PATH_SUFFIXES include
${ENV_PETSC_ARCH}/include include/slepc)
if(SLEPC_INC)
set_config_option(HAVE_SLEPC "SLEPc")
list(APPEND EXTERNAL_LIBRARIES ${SLEPC_LIB})
list(APPEND EXTERNAL_INCLUDES ${SLEPC_INC})
endif(SLEPC_INC)
endif(SLEPC_LIB)
if(NOT HAVE_SLEPC AND NOT ENV_SLEPC_DIR)
message("WARNING: Export SLEPC_DIR before calling cmake")
endif(NOT HAVE_SLEPC AND NOT ENV_SLEPC_DIR)
endif(ENABLE_SLEPC)
list(APPEND EXTERNAL_LIBRARIES ${PETSC_LIBS}) list(APPEND EXTERNAL_LIBRARIES ${PETSC_LIBS})
# find additional libraries to link with # find additional libraries to link with
string(REGEX MATCH "PACKAGES_LIBS = [^\n\r]*" PLIBS ${PETSC_VARIABLES}) string(REGEX MATCH "PACKAGES_LIBS = [^\n\r]*" PLIBS ${PETSC_VARIABLES})
...@@ -674,10 +692,20 @@ if(ENABLE_PETSC) ...@@ -674,10 +692,20 @@ if(ENABLE_PETSC)
list(APPEND EXTERNAL_LIBRARIES "${LLIBS}") list(APPEND EXTERNAL_LIBRARIES "${LLIBS}")
endif(LLIBS) endif(LLIBS)
else(EXISTS ${ENV_PETSC_DIR}/${ENV_PETSC_ARCH}/conf/petscvariables) else(EXISTS ${ENV_PETSC_DIR}/${ENV_PETSC_ARCH}/conf/petscvariables)
# new-style PETSc installations (in standard system directories)
find_library(PETSC_LIBS petsc) find_library(PETSC_LIBS petsc)
find_path(PETSC_INC "petsc.h" PATH_SUFFIXES include/petsc) find_path(PETSC_INC "petsc.h" PATH_SUFFIXES include/petsc)
if(PETSC_LIBS AND PETSC_INC) if(PETSC_LIBS AND PETSC_INC)
set_config_option(HAVE_PETSC "PETSc") set_config_option(HAVE_PETSC "PETSc")
if(ENABLE_SLEPC)
find_library(SLEPC_LIB slepc)
find_path(SLEPC_INC "slepc.h" PATH_SUFFIXES include/slepc)
if(SLEPC_LIB AND SLEPC_INC)
set_config_option(HAVE_SLEPC "SLEPc")
list(APPEND EXTERNAL_LIBRARIES ${SLEPC_LIB})
list(APPEND EXTERNAL_INCLUDES ${SLEPC_INC})
endif(SLEPC_LIB AND SLEPC_INC)
endif(ENABLE_SLEPC)
list(APPEND EXTERNAL_LIBRARIES ${PETSC_LIBS}) list(APPEND EXTERNAL_LIBRARIES ${PETSC_LIBS})
list(APPEND EXTERNAL_INCLUDES ${PETSC_INC}) list(APPEND EXTERNAL_INCLUDES ${PETSC_INC})
endif(PETSC_LIBS AND PETSC_INC) endif(PETSC_LIBS AND PETSC_INC)
...@@ -690,23 +718,6 @@ if(ENABLE_PETSC) ...@@ -690,23 +718,6 @@ if(ENABLE_PETSC)
endif(NOT HAVE_PETSC AND NOT ENV_PETSC_ARCH) endif(NOT HAVE_PETSC AND NOT ENV_PETSC_ARCH)
endif(ENABLE_PETSC) endif(ENABLE_PETSC)
if(ENABLE_SLEPC AND HAVE_PETSC)
set(ENV_SLEPC_DIR $ENV{SLEPC_DIR})
find_library(SLEPC_LIB slepc PATHS ${ENV_SLEPC_DIR}/${ENV_PETSC_ARCH}/lib)
if(SLEPC_LIB)
find_path(SLEPC_INC "slepc.h" PATHS ${ENV_SLEPC_DIR} PATH_SUFFIXES include
${ENV_PETSC_ARCH}/include include/slepc)
if(SLEPC_INC)
set_config_option(HAVE_SLEPC "SLEPc")
list(APPEND EXTERNAL_LIBRARIES ${SLEPC_LIB})
list(APPEND EXTERNAL_INCLUDES ${SLEPC_INC})
endif(SLEPC_INC)
endif(SLEPC_LIB)
if(NOT HAVE_SLEPC AND NOT ENV_SLEPC_DIR)
message("WARNING: Export SLEPC_DIR before calling cmake")
endif(NOT HAVE_SLEPC AND NOT ENV_SLEPC_DIR)
endif(ENABLE_SLEPC AND HAVE_PETSC)
if(ENABLE_OCC) if(ENABLE_OCC)
if(WIN32 OR CYGWIN) if(WIN32 OR CYGWIN)
set(OCC_SYS_NAME win32) set(OCC_SYS_NAME win32)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment