diff --git a/CMakeLists.txt b/CMakeLists.txt index 9048f9a40..0b4ff621c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -73,6 +73,11 @@ Cabana_add_dependency( PACKAGE CLANG_FORMAT ) # find hypre Cabana_add_dependency( PACKAGE HYPRE ) +if(HYPRE_FOUND) + install(FILES + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindHYPRE.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Cabana ) +endif() # find heffte Cabana_add_dependency( PACKAGE Heffte ) @@ -174,6 +179,15 @@ endif() configure_file(cmake/Cabana.pc.cmakein Cabana.pc @ONLY) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Cabana.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) +write_basic_package_version_file("CabanaConfigVersion.cmake" + VERSION ${PROJECT_VERSION} COMPATIBILITY ExactVersion) + +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/CabanaConfig.cmakein + ${CMAKE_CURRENT_BINARY_DIR}/CabanaConfig.cmake @ONLY) + +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/CabanaConfig.cmake" "${CMAKE_CURRENT_BINARY_DIR}/CabanaConfigVersion.cmake" + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Cabana) + ##---------------------------------------------------------------------------## ## Clang Format ##---------------------------------------------------------------------------## diff --git a/cmake/CabanaConfig.cmakein b/cmake/CabanaConfig.cmakein new file mode 100644 index 000000000..14192ef93 --- /dev/null +++ b/cmake/CabanaConfig.cmakein @@ -0,0 +1,22 @@ +include(CMakeFindDependencyMacro) +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}" ) +list(APPEND CMAKE_PREFIX_PATH @CMAKE_PREFIX_PATH@) +find_dependency(Kokkos REQUIRED) +set(Cabana_ENABLE_MPI @Cabana_ENABLE_MPI@) +if(Cabana_ENABLE_MPI) + find_dependency(MPI REQUIRED CXX) +endif() +set(Cabana_ENABLE_HYPRE @Cabana_ENABLE_HYPRE@) +if(Cabana_ENABLE_HYPRE) + find_dependency(HYPRE REQUIRED) +endif() +set(Cabana_ENABLE_HEFFTE @Cabana_ENABLE_HEFFTE@) +if(Cabana_ENABLE_HEFFTE) + find_dependency(Heffte REQUIRED) +endif() +set(Cabana_ENABLE_ARBORX @Cabana_ENABLE_ARBORX@) +if(Cabana_ENABLE_ARBORX) + find_dependency(ArborX REQUIRED) +endif() +include("${CMAKE_CURRENT_LIST_DIR}/CajitaTargets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/Cabana_Targets.cmake") diff --git a/core/src/CMakeLists.txt b/core/src/CMakeLists.txt index 2705dd096..7d69dc852 100644 --- a/core/src/CMakeLists.txt +++ b/core/src/CMakeLists.txt @@ -70,9 +70,6 @@ install(EXPORT Cabana_Targets NAMESPACE Cabana:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Cabana) -install(FILES "${CMAKE_CURRENT_BINARY_DIR}/CabanaConfig.cmake" "${CMAKE_CURRENT_BINARY_DIR}/CabanaConfigVersion.cmake" - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Cabana) - install(FILES ${HEADERS_PUBLIC} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) install(FILES ${HEADERS_IMPL} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/impl/) @@ -81,10 +78,4 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/CabanaCore_config.hpp DESTINATION ${CM include(CMakePackageConfigHelpers) -configure_file(CabanaConfig.cmakein - ${CMAKE_CURRENT_BINARY_DIR}/CabanaConfig.cmake @ONLY) - -write_basic_package_version_file("CabanaConfigVersion.cmake" - VERSION ${PROJECT_VERSION} COMPATIBILITY ExactVersion) - add_library(Cabana::cabanacore ALIAS cabanacore) diff --git a/core/src/CabanaConfig.cmakein b/core/src/CabanaConfig.cmakein deleted file mode 100644 index 22b03cf0e..000000000 --- a/core/src/CabanaConfig.cmakein +++ /dev/null @@ -1,23 +0,0 @@ -include(CMakeFindDependencyMacro) -if(NOT DEFINED Kokkos_DIR) - set(Kokkos_DIR @Kokkos_DIR@) -endif() -find_dependency(Kokkos REQUIRED) -if(@MPI_FOUND@) - find_dependency(MPI REQUIRED CXX) - set(Cabana_ENABLE_MPI ON) -endif() -if(@Cabana_ENABLE_ARBORX@) - find_dependency(ArborX REQUIRED) - set(Cabana_ENABLE_ARBORX ON) -endif() -if(@HYPRE_FOUND@) - find_dependency(HYPRE REQUIRED) -endif() -if(@HEFFTE_FOUND@) - find_dependency(Heffte REQUIRED) -endif() -if(@ARBORX_FOUND@) - find_dependency(ArborX REQUIRED) -endif() -include("${CMAKE_CURRENT_LIST_DIR}/Cabana_Targets.cmake")