diff --git a/Applications/ApplicationsLib/CMakeLists.txt b/Applications/ApplicationsLib/CMakeLists.txt index 512ddb5a72af6c8c3b22ec2f0c75d970d7794e59..b4e25fcce00823533822eabe6ff7a846a60e8462 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 6e331a4ee6e2ed21f4044bb2d314647e7a9693f2..019bb739d239550e50046d717a773f85c18be92b 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 80187fb711c74c92e208e2e18c860730492e32fc..ca6bd559cd447321031ca2f1b2183efd2316093a 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 0501a65da862b76ff3a4fff3e910a4f6374ead93..093a0318947cc9a1ff8d9d7094b8484a88d8a440 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)