diff --git a/CMakeLists.txt b/CMakeLists.txt index f496420..ff058c2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -41,11 +41,11 @@ if(NOT nlohmann_json_FOUND) FetchContent_MakeAvailable(nlohmann_json) endif() -# Find Ginkgo find_package(Ginkgo 1.7.0 QUIET) -find_package(ginkgo QUIET) +# Find Ginkgo (quietly; no minimum version specified) +find_package(Ginkgo QUIET) # Fetch Ginkgo if not found -if(NOT ginkgo_FOUND) +if(NOT Ginkgo_FOUND) # If not found, fetch Ginkgo include(FetchContent) if(NOT DEFINED GINKGO_BUILD_TESTS) @@ -182,16 +182,20 @@ endif() set(CMAKE_INSTALL_RPATH ${Python_SITELIB}/${PROJECT_NAME}) message(STATUS "Install path: ${Python_SITELIB}") -install(DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} - DESTINATION ${Python_SITELIB}) -install( - IMPORTED_RUNTIME_ARTIFACTS - ginkgo - ginkgo_device - ginkgo_hip - ginkgo_cuda - ginkgo_omp - ginkgo_dpcpp - ginkgo_reference - DESTINATION - ${Python_SITELIB}/${PROJECT_NAME}) +install(DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/ + DESTINATION ${PY_BUILD_CMAKE_MODULE_NAME}) +if(NOT Ginkgo_FOUND) + # Only install Ginkgo shared libraries when built from source (FetchContent). + # When using a pre-installed Ginkgo (e.g. conda), its libraries are already available. + install( + IMPORTED_RUNTIME_ARTIFACTS + ginkgo + ginkgo_device + ginkgo_hip + ginkgo_cuda + ginkgo_omp + ginkgo_dpcpp + ginkgo_reference + DESTINATION + ${PY_BUILD_CMAKE_MODULE_NAME}) +endif()