From cbaa305075f9a418496aff6417332cda9f733f6b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Del=20Pino?= <stephane.delpino44@gmail.com>
Date: Fri, 17 Jan 2025 18:54:31 +0100
Subject: [PATCH] Fix targets configuration when PETSc or SLEPc are not
 installed

---
 CMakeLists.txt | 32 ++++++++++++++++++--------------
 1 file changed, 18 insertions(+), 14 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4317cec4d..2e0b29900 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -178,14 +178,16 @@ if (PUGS_ENABLE_PETSC MATCHES "^(AUTO|ON)$")
     # PETSc support is deactivated if MPI is not found
     pkg_check_modules(PETSC IMPORTED_TARGET GLOBAL PETSc)
 
-    set_property(TARGET PkgConfig::PETSC PROPERTY
-      IMPORTED_LOCATION "${PETSC_LIBRARIES}"
-    )
-    set_property(TARGET PkgConfig::PETSC PROPERTY
-      INTERFACE_INCLUDE_DIRECTORIES "${PETSC_INCLUDE_DIRS}"
-    )
+    if (${PETSC_FOUND})
+      set_property(TARGET PkgConfig::PETSC PROPERTY
+	IMPORTED_LOCATION "${PETSC_LIBRARIES}"
+      )
+      set_property(TARGET PkgConfig::PETSC PROPERTY
+	INTERFACE_INCLUDE_DIRECTORIES "${PETSC_INCLUDE_DIRS}"
+      )
 
-    set(PETSC_TARGET PkgConfig::PETSC)
+      set(PETSC_TARGET PkgConfig::PETSC)
+    endif()
   else()
     message(STATUS "PETSc support is deactivated since pugs will not be build with MPI support")
     set(PETSC_FOUND FALSE)
@@ -215,14 +217,16 @@ if (PUGS_ENABLE_SLEPC MATCHES "^(AUTO|ON)$")
     # SLEPc support is deactivated if PETSc is not found
     pkg_check_modules(SLEPC IMPORTED_TARGET GLOBAL SLEPc)
 
-    set_property(TARGET PkgConfig::SLEPC PROPERTY
-      IMPORTED_LOCATION "${SLEPC_LIBRARIES}"
-    )
-    set_property(TARGET PkgConfig::SLEPC PROPERTY
-      INTERFACE_INCLUDE_DIRECTORIES "${SLEPC_INCLUDE_DIRS}"
-    )
+    if (${SLEPC_FOUND})
+      set_property(TARGET PkgConfig::SLEPC PROPERTY
+	IMPORTED_LOCATION "${SLEPC_LIBRARIES}"
+      )
+      set_property(TARGET PkgConfig::SLEPC PROPERTY
+	INTERFACE_INCLUDE_DIRECTORIES "${SLEPC_INCLUDE_DIRS}"
+      )
 
-    set(SLEPC_TARGET PkgConfig::SLEPC)
+      set(SLEPC_TARGET PkgConfig::SLEPC)
+    endif()
   else()
     message(STATUS "SLEPc support is deactivated since pugs will not be build with PETSc support")
     set(SLEPC_FOUND FALSE)
-- 
GitLab