-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathAMSConfig.cmake.in
79 lines (69 loc) · 2.09 KB
/
AMSConfig.cmake.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
@PACKAGE_INIT@
include("${CMAKE_CURRENT_LIST_DIR}/AMSTargets.cmake")
# Expose configuration options with AMS_ prefix
set(AMS_WITH_MPI @WITH_MPI@)
set(AMS_WITH_CUDA @WITH_CUDA@)
set(AMS_WITH_CALIPER @WITH_CALIPER@)
set(AMS_WITH_HDF5 @WITH_HDF5@)
set(AMS_WITH_RMQ @WITH_RMQ@)
include(CMakeFindDependencyMacro)
find_dependency(nlohmann_json REQUIRED)
if (NOT TARGET Torch)
set(AMS_TORCH_DIR @Torch_DIR@)
if (NOT Torch_DIR)
set(Torch_DIR ${AMS_TORCH_DIR})
endif()
find_dependency(Torch REQUIRED HINTS ${Torch_DIR})
endif()
#Add usage hints for downstream projects
if(AMS_WITH_MPI)
if (NOT TARGET MPI)
find_dependency(MPI REQUIRED)
endif()
endif()
if(AMS_WITH_CUDA)
if (NOT TARGET CUDA::cudart)
find_dependency(CUDAToolkit REQUIRED)
endif()
endif()
if (AMS_WITH_HDF5)
set(AMS_HDF5_DIR @AMS_HDF5_DIR@)
set(AMS_HDF5_LIB_TYPE @AMS_HDF5_LIB_TYPE@)
if (NOT TARGET hdf5-shared OR NOT TARGET hdf5-static)
if (NOT HDF5_DIR)
set(HDF5_DIR ${AMS_HDF5_DIR})
endif()
if (${AMS_HDF5_LIB_TYPE} STREQUAL "static")
find_dependency(HDF5 COMPONENTS C static HINTS @AMS_HDF5_DIR@ @AMS_HDF5_DIR@/share/cmake)
else()
find_dependency(HDF5 COMPONENTS C shared HINTS @AMS_HDF5_DIR@ @AMS_HDF5_DIR@/share/cmake)
endif()
endif()
endif()
if (AMS_WITH_CALIPER)
if (NOT TARGET caliper)
set(CALIPER_AMS_DIR @caliper_DIR@)
# check if we specify another caliper directory
if (NOT caliper_DIR)
set(caliper_DIR ${CALIPER_AMS_DIR})
endif()
find_dependency(caliper HINTS ${caliper_DIR})
endif()
endif()
if (AMS_WITH_RMQ)
set(AMS_RMQ_DIR @amqpcpp_DIR@)
if (NOT amqpcpp_DIR)
set(amqpcpp_DIR ${AMS_RMQ_DIR})
endif()
set(AMS_OPENSSL_FOUND_ROOT @AMS_OPENSSL_FOUND_ROOT@)
if (NOT OPENSSL_ROOT_DIR)
set(OPENSSL_ROOT_DIR ${AMS_OPENSSL_FOUND_ROOT})
endif()
find_dependency(amqpcpp REQUIRED HINTS ${amqpcpp_DIR})
# find dependency does not correctly discover OpenSSL, not sure why.
find_dependency(OpenSSL)
if (NOT OPENSSL_FOUND)
find_dependency(OpenSSL HINTS ${AMS_OPENSSL_FOUND_ROOT})
endif()
endif()
check_required_components("@PROJECT_NAME@")