From cc476439811fc8ca93f19d00d9906e4d98dbe9dd Mon Sep 17 00:00:00 2001 From: Lars Bilke <lars.bilke@ufz.de> Date: Wed, 13 Dec 2023 18:47:55 +0100 Subject: [PATCH] [cmake] Replaced petsc interface target by PkgConfig::PETSC. --- Applications/ApplicationsLib/CMakeLists.txt | 2 +- BaseLib/CMakeLists.txt | 2 +- MathLib/CMakeLists.txt | 2 +- .../cmake/DependenciesExternalProject.cmake | 21 +++++-------------- 4 files changed, 8 insertions(+), 19 deletions(-) diff --git a/Applications/ApplicationsLib/CMakeLists.txt b/Applications/ApplicationsLib/CMakeLists.txt index 512ddb5a72a..b4e25fcce00 100644 --- a/Applications/ApplicationsLib/CMakeLists.txt +++ b/Applications/ApplicationsLib/CMakeLists.txt @@ -10,7 +10,7 @@ target_link_libraries( PUBLIC BaseLib GeoLib NumLib $<$<TARGET_EXISTS:VTK::ParallelMPI>:VTK::ParallelMPI> PRIVATE CMakeInfoLib MathLib MeshLib MeshGeoToolsLib MeshToolsLib pybind11::pybind11 - $<$<BOOL:${OGS_USE_PETSC}>:petsc> + $<$<BOOL:${OGS_USE_PETSC}>:PkgConfig::PETSC> ) if(OGS_BUILD_CLI OR OGS_BUILD_UTILS OR OGS_BUILD_TESTING) diff --git a/BaseLib/CMakeLists.txt b/BaseLib/CMakeLists.txt index 6e331a4ee6e..019bb739d23 100644 --- a/BaseLib/CMakeLists.txt +++ b/BaseLib/CMakeLists.txt @@ -16,7 +16,7 @@ target_link_libraries( $<$<BOOL:${MSVC}>:WinMM> # needed for timeGetTime $<$<BOOL:${OGS_BUILD_GUI}>:Qt5::Xml> $<$<BOOL:${OGS_BUILD_GUI}>:Qt5::XmlPatterns> - $<$<BOOL:${OGS_USE_PETSC}>:petsc> + $<$<BOOL:${OGS_USE_PETSC}>:PkgConfig::PETSC> PRIVATE xmlpatch ) diff --git a/MathLib/CMakeLists.txt b/MathLib/CMakeLists.txt index 80187fb711c..ca6bd559cd4 100644 --- a/MathLib/CMakeLists.txt +++ b/MathLib/CMakeLists.txt @@ -31,7 +31,7 @@ target_link_libraries( $<$<TARGET_EXISTS:LAPACK::LAPACK>:LAPACK::LAPACK> $<$<BOOL:${OGS_USE_LIS}>:${LIS_LIBRARIES}> $<$<BOOL:${OGS_USE_CVODE}>:CVODE::CVODE> - $<$<BOOL:${OGS_USE_PETSC}>:petsc> + $<$<BOOL:${OGS_USE_PETSC}>:PkgConfig::PETSC> $<$<BOOL:${OGS_USE_MKL}>:MKL::MKL> Eigen3::Eigen $<$<TARGET_EXISTS:OpenMP::OpenMP_CXX>:OpenMP::OpenMP_CXX> diff --git a/scripts/cmake/DependenciesExternalProject.cmake b/scripts/cmake/DependenciesExternalProject.cmake index 0501a65da86..093a0318947 100644 --- a/scripts/cmake/DependenciesExternalProject.cmake +++ b/scripts/cmake/DependenciesExternalProject.cmake @@ -143,7 +143,7 @@ if(OGS_USE_PETSC) set(_petsc_source URL ${_petsc_source_file}) elseif(NOT (OGS_PETSC_CONFIG_OPTIONS OR OGS_BUILD_PETSC)) find_package(PkgConfig REQUIRED) - pkg_search_module(PETSC REQUIRED PETSc) + pkg_search_module(PETSC IMPORTED_TARGET PETSc) endif() if(NOT PETSC_FOUND) @@ -173,23 +173,12 @@ if(OGS_USE_PETSC) "ExternalProject_Add(): added package PETSc@${ogs.minimum_version.petsc}" ) set(_EXT_LIBS ${_EXT_LIBS} PETSc CACHE INTERNAL "") - BuildExternalProject_find_package(PETSc) + set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} ${build_dir_PETSc}) endif() - add_library(petsc SHARED IMPORTED) - target_include_directories(petsc INTERFACE ${PETSC_INCLUDES} ${PETSC_INCLUDE_DIRS}) - if("PETSc" IN_LIST _EXT_LIBS) - # Get first petsc lib as import location - list(GET PETSC_LIBRARIES 0 _first_petsc_lib) - set_target_properties( - petsc PROPERTIES IMPORTED_LOCATION ${_first_petsc_lib} - ) - else() - set_target_properties( - petsc PROPERTIES IMPORTED_LOCATION ${pkgcfg_lib_PETSC_petsc} - ) - endif() - target_compile_definitions(petsc INTERFACE USE_PETSC) + find_package(PkgConfig REQUIRED) + pkg_search_module(PETSC REQUIRED IMPORTED_TARGET PETSc) + target_compile_definitions(PkgConfig::PETSC INTERFACE USE_PETSC) endif() if(OGS_USE_LIS) -- GitLab