File: petsc.patch

package info (click to toggle)
getdp 3.2.0%2Bdfsg1-1.1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, trixie
  • size: 10,192 kB
  • sloc: cpp: 65,281; fortran: 13,955; yacc: 9,519; f90: 1,640; lex: 808; makefile: 55; ansic: 34; awk: 33; sh: 23
file content (46 lines) | stat: -rw-r--r-- 2,138 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Description: Petsc
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -454,13 +454,15 @@
       endif()
     endif()
     # find libraries (<= 3.0)
-    set(PETSC_LIBS_REQUIRED petscksp petscdm petscmat petscvec petsc)
+    set(PETSC_LIBS_REQUIRED petscksp petscdm petscmat petscvec petscsys petscsnes)
     find_all_libraries(PETSC_LIBS PETSC_LIBS_REQUIRED
                        ${ENV_PETSC_DIR}/${ENV_PETSC_ARCH}/lib "")
+    message(STATUS "Using PETSC_LIBS : ${PETSC_LIBS}")
     # petsc 3.1 creates only one library (libpetsc)
     if(NOT PETSC_LIBS)
       find_library(PETSC_LIBS petsc PATHS ${ENV_PETSC_DIR}/${ENV_PETSC_ARCH}/lib
                    NO_DEFAULT_PATH)
+      message(STATUS "Using PETSC_LIB : ${PETSC_LIBS}")
     endif()
     if(PETSC_LIBS)
       set_config_option(HAVE_PETSC "PETSc")
@@ -478,15 +480,22 @@
       else()
         set(ENV_SLEPC_DIR $ENV{SLEPC_DIR})
       endif()
-      find_library(SLEPC_LIB slepc PATHS ${ENV_SLEPC_DIR}/${ENV_PETSC_ARCH}/lib
+      set(SLEPC_LIBS_REQUIRED slepcsys slepcmfn slepceps slepcsvd slepcpep slepcnep)
+      find_all_libraries(SLEPC_LIBS SLEPC_LIBS_REQUIRED
+                       ${ENV_SLEPC_DIR}/${ENV_PETSC_ARCH}/lib "")
+      message(STATUS "Using SLEPC_LIBS : ${SLEPC_LIBS}")
+      if(NOT SLEPC_LIBS)
+        find_library(SLEPC_LIBS slepc PATHS ${ENV_SLEPC_DIR}/${ENV_PETSC_ARCH}/lib
                    NO_DEFAULT_PATH)
-      if(SLEPC_LIB)
+        message(STATUS "Using SLEPC_LIB : ${SLEPC_LIBS}")
+      endif(NOT SLEPC_LIBS)
+      if(SLEPC_LIBS)
         find_path(SLEPC_INC "slepc.h" PATHS ${ENV_SLEPC_DIR} PATH_SUFFIXES include
                   ${ENV_PETSC_ARCH}/include include/slepc NO_DEFAULT_PATH)
         if(SLEPC_INC)
           message(STATUS "Using SLEPc dir: ${ENV_SLEPC_DIR}")
           set_config_option(HAVE_SLEPC "SLEPc")
-          list(APPEND EXTERNAL_LIBRARIES ${SLEPC_LIB})
+          list(APPEND EXTERNAL_LIBRARIES ${SLEPC_LIBS})
           list(APPEND EXTERNAL_INCLUDES ${SLEPC_INC})
           find_path(SLEPC_INC2 "slepcconf.h" PATHS ${ENV_SLEPC_DIR}
                     PATH_SUFFIXES ${ENV_PETSC_ARCH}/include NO_DEFAULT_PATH)