@PACKAGE_INIT@ set(GINKGO_PROJECT_NAME "@PROJECT_NAME@") set(GINKGO_PROJECT_VERSION @Ginkgo_VERSION@) set(GINKGO_PROJECT_DESCRIPTION "@Ginkgo_DESCRIPTION@") # Extra version information set(GINKGO_VERSION_MAJOR @Ginkgo_VERSION_MAJOR@) set(GINKGO_VERSION_MINOR @Ginkgo_VERSION_MINOR@) set(GINKGO_VERSION_PATCH @Ginkgo_VERSION_PATCH@) # Git information set(GINKGO_GIT_BRANCH "@GINKGO_GIT_BRANCH@") set(GINKGO_GIT_REVISION "@GINKGO_GIT_REVISION@") set(GINKGO_GIT_SHORTREV "@GINKGO_GIT_SHORTREV@") # CMake build configuration set(GINKGO_BUILD_TYPE "@CMAKE_BUILD_TYPE@") set(GINKGO_BUILD_SHARED_LIBS "@BUILD_SHARED_LIBS@") set(GINKGO_DEBUG_POSTFIX "@CMAKE_DEBUG_POSTFIX@") # Compiler configuration set(GINKGO_CXX_COMPILER "@CMAKE_CXX_COMPILER@") set(GINKGO_CXX_COMPILER_VERSION @CMAKE_CXX_COMPILER_VERSION@) set(GINKGO_CXX_FLAGS "@CMAKE_CXX_FLAGS@") set(GINKGO_CXX_FLAGS_DEBUG "@CMAKE_CXX_FLAGS_DEBUG@") set(GINKGO_CXX_FLAGS_RELEASE "@CMAKE_CXX_FLAGS_RELEASE@") set(GINKGO_EXE_LINKER_FLAGS "@CMAKE_EXE_LINKER_FLAGS@") set(GINKGO_EXE_LINKER_FLAGS_DEBUG "@CMAKE_EXE_LINKER_FLAGS_DEBUG@") set(GINKGO_EXE_LINKER_FLAGS_RELEASE "@CMAKE_EXE_LINKER_FLAGS_RELEASE@") # Ginkgo configuration set(GINKGO_BUILD_REFERENCE @GINKGO_BUILD_REFERENCE@) set(GINKGO_BUILD_OMP @GINKGO_BUILD_OMP@) set(GINKGO_BUILD_CUDA @GINKGO_BUILD_CUDA@) set(GINKGO_BUILD_HIP @GINKGO_BUILD_HIP@) set(GINKGO_DEVEL_TOOLS @GINKGO_DEVEL_TOOLS@) set(GINKGO_BUILD_TESTS @GINKGO_BUILD_TESTS@) set(GINKGO_BUILD_EXAMPLES @GINKGO_BUILD_EXAMPLES@) set(GINKGO_BUILD_EXTLIB_EXAMPLE @GINKGO_BUILD_EXTLIB_EXAMPLE@) set(GINKGO_BUILD_BENCHMARKS @GINKGO_BUILD_BENCHMARKS@) set(GINKGO_BUILD_DOC @GINKGO_BUILD_DOC@) set(GINKGO_DOC_GENERATE_EXAMPLES @GINKGO_DOC_GENERATE_EXAMPLES@) set(GINKGO_DOC_GENERATE_PDF @GINKGO_DOC_GENERATE_PDF@) set(GINKGO_DOC_GENERATE_DEV @GINKGO_DOC_GENERATE_DEV@) set(GINKGO_SKIP_DEPENDENCY_UPDATE @GINKGO_SKIP_DEPENDENCY_UPDATE@) set(GINKGO_EXPORT_BUILD_DIR @GINKGO_EXPORT_BUILD_DIR@) set(GINKGO_VERBOSE_LEVEL @GINKGO_VERBOSE_LEVEL@) set(GINKGO_WITH_CLANG_TIDY @GINKGO_WITH_CLANG_TIDY@) set(GINKGO_WITH_IWYU @GINKGO_WITH_IWYU@) set(GINKGO_CLANG_TIDY_PATH @GINKGO_CLANG_TIDY_PATH@) set(GINKGO_IWYU_PATH @GINKGO_IWYU_PATH@) set(GINKGO_JACOBI_FULL_OPTIMIZATIONS @GINKGO_JACOBI_FULL_OPTIMIZATIONS@) set(GINKGO_CUDA_ARCHITECTURES @GINKGO_CUDA_ARCHITECTURES@) set(GINKGO_CUDA_DEFAULT_HOST_COMPILER @GINKGO_CUDA_DEFAULT_HOST_COMPILER@) set(GINKGO_CUDA_HOST_COMPILER @CMAKE_CUDA_HOST_COMPILER@) set(GINKGO_HIP_COMPILER_FLAGS @GINKGO_HIP_COMPILER_FLAGS@) set(GINKGO_HIP_HCC_COMPILER_FLAGS @GINKGO_HIP_HCC_COMPILER_FLAGS@) set(GINKGO_HIP_NVCC_COMPILER_FLAGS @GINKGO_HIP_NVCC_COMPILER_FLAGS@) set(GINKGO_HIP_PLATFORM @GINKGO_HIP_PLATFORM@) set(GINKGO_HIP_AMDGPU @GINKGO_HIP_AMDGPU@) set(GINKGO_HAVE_PAPI_SDE @GINKGO_HAVE_PAPI_SDE@) # Ginkgo external package variables set(GINKGO_USE_EXTERNAL_CAS "@GINKGO_USE_EXTERNAL_CAS@") set(GINKGO_USE_EXTERNAL_GTEST "@GINKGO_USE_EXTERNAL_GTEST@") set(GINKGO_USE_EXTERNAL_GFLAGS "@GINKGO_USE_EXTERNAL_GFLAGS@") set(GINKGO_USE_EXTERNAL_RAPIDJSON "@GINKGO_USE_EXTERNAL_RAPIDJSON@") set(TPL_ENABLE_GTEST "@TPL_ENABLE_GTEST@") set(TPL_GTEST_LIBRARIES "@TPL_GTEST_LIBRARIES@") set(TPL_GTEST_INCLUDE_DIRS "@TPL_GTEST_INCLUDE_DIRS@") set(TPL_ENABLE_GFLAGS "@TPL_ENABLE_GFLAGS@") set(TPL_GFLAGS_LIBRARIES "@TPL_GFLAGS_LIBRARIES@") set(TPL_GFLAGS_INCLUDE_DIRS "@TPL_GFLAGS_INCLUDE_DIRS@") set(TPL_ENABLE_RAPIDJSON "@TPL_ENABLE_RAPIDJSON@") set(TPL_RAPIDJSON_LIBRARIES "@TPL_RAPIDJSON_LIBRARIES@") set(TPL_RAPIDJSON_INCLUDE_DIRS "@TPL_RAPIDJSON_INCLUDE_DIRS@") # Ginkgo installation configuration set(GINKGO_CONFIG_FILE_PATH "${CMAKE_CURRENT_LIST_DIR}") string(REPLACE "@GINKGO_INSTALL_CONFIG_DIR@" "" GINKGO_INSTALL_PREFIX "${GINKGO_CONFIG_FILE_PATH}") set(GINKGO_INSTALL_INCLUDE_DIR "${GINKGO_INSTALL_PREFIX}/@GINKGO_INSTALL_INCLUDE_DIR@") set(GINKGO_INSTALL_LIBRARY_DIR "${GINKGO_INSTALL_PREFIX}/@GINKGO_INSTALL_LIBRARY_DIR@") set(GINKGO_INSTALL_PKGCONFIG_DIR "${GINKGO_INSTALL_PREFIX}/@GINKGO_INSTALL_PKGCONFIG_DIR@") set(GINKGO_INSTALL_CONFIG_DIR "${GINKGO_INSTALL_PREFIX}/@GINKGO_INSTALL_CONFIG_DIR@") set(GINKGO_INSTALL_MODULE_DIR "${GINKGO_INSTALL_PREFIX}/@GINKGO_INSTALL_MODULE_DIR@") # Forward Ginkgo's MODULE PATH and the PREFIX PATH for HIP and more list(APPEND CMAKE_MODULE_PATH "@CMAKE_MODULE_PATH@" "${GINKGO_INSTALL_MODULE_DIR}") list(APPEND CMAKE_PREFIX_PATH "@CMAKE_PREFIX_PATH@") set(GINKGO_INTERFACE_LINK_LIBRARIES "@GINKGO_INTERFACE_LINK_LIBRARIES@") set(GINKGO_INTERFACE_LINK_FLAGS "@GINKGO_INTERFACE_LINK_FLAGS@") set(GINKGO_INTERFACE_CXX_FLAGS "@GINKGO_INTERFACE_CXX_FLAGS@") # CUDA set(GINKGO_CUDA_COMPILER "@CMAKE_CUDA_COMPILER@") set(GINKGO_CUDA_COMPILER_VERSION @CMAKE_CUDA_COMPILER_VERSION@) set(GINKGO_CUDA_HOST_LINK_LAUNCHER "@CMAKE_CUDA_HOST_LINK_LAUNCHER@") set(GINKGO_CUBLAS_LIBRARIES @CUBLAS@) set(GINKGO_CUSPARSE_LIBRARIES @CUSPARSE@) set(GINKGO_CUDA_LIBRARIES @CUDA_RUNTIME_LIBS@) set(GINKGO_CUDA_TOOLKIT_INCLUDE_DIRECTORIES "@CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES@") set(GINKGO_CUDA_FLAGS "@CMAKE_CUDA_FLAGS_MODIFY@") set(GINKGO_CUDA_FLAGS_DEBUG "@CMAKE_CUDA_FLAGS_DEBUG_MODIFY@") set(GINKGO_CUDA_FLAGS_RELEASE "@CMAKE_CUDA_FLAGS_RELEASE_MODIFY@") # OpenMP set(GINKGO_OPENMP_VERSION @OpenMP_CXX_VERSION@) set(GINKGO_OPENMP_LIB_NAMES @OpenMP_CXX_LIB_NAMES@) set(GINKGO_OPENMP_LIBRARIES @OpenMP_CXX_LIBRARIES@) set(GINKGO_OPENMP_FLAGS "@OpenMP_CXX_FLAGS@") # Provide useful HIP helper functions include(${CMAKE_CURRENT_LIST_DIR}/hip_helpers.cmake) include(${CMAKE_CURRENT_LIST_DIR}/windows_helpers.cmake) # NOTE: we do not export benchmarks, examples, tests or devel tools # so `third_party` libraries are currently unneeded. # propagate CUDA_HOST_COMPILER if Ginkgo was built with CUDA if (GINKGO_BUILD_CUDA AND GINKGO_CUDA_HOST_COMPILER AND NOT CMAKE_CUDA_HOST_COMPILER) message(STATUS "Ginkgo: Setting CUDA host compiler to ${GINKGO_CXX_COMPILER}") set(CMAKE_CUDA_HOST_COMPILER "${GINKGO_CXX_COMPILER}" CACHE STRING "" FORCE) endif() if(GINKGO_HAVE_PAPI_SDE) find_package(PAPI REQUIRED OPTIONAL_COMPONENTS sde) endif() # HIP depends on Threads::Threads in some circumstances, but doesn't find it if (GINKGO_BUILD_HIP) find_package(Threads REQUIRED) endif() # Needed because of a known issue with CUDA while linking statically. # For details, see https://gitlab.kitware.com/cmake/cmake/issues/18614 if((NOT GINKGO_BUILD_SHARED_LIBS) AND GINKGO_BUILD_CUDA) enable_language(CUDA) endif() if((NOT GINKGO_BUILD_SHARED_LIBS) AND GINKGO_BUILD_HIP) find_package(HIP REQUIRED) find_package(hipblas REQUIRED) find_package(hipsparse REQUIRED) if(GINKGO_HIP_PLATFORM MATCHES "hcc") ginkgo_hip_ban_link_hcflag(hcc::hccrt) ginkgo_hip_ban_link_hcflag(hcc::hc_am) ginkgo_hip_ban_link_hcflag(hcc::mcwamp) ginkgo_hip_ban_compile_hcflag(hcc::hccrt) ginkgo_hip_ban_compile_hcflag(hcc::hc_am) ginkgo_hip_ban_compile_hcflag(hcc::mcwamp) endif() endif() include(${CMAKE_CURRENT_LIST_DIR}/GinkgoTargets.cmake)