forked from ROCm/ROCm-Device-Libs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Packages.cmake
45 lines (43 loc) · 2.05 KB
/
Packages.cmake
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
set(PACKAGE_PREFIX lib/cmake/AMDDeviceLibs)
# Generate the build-tree package.
# We know the absolute path to the build tree, so we leave
# AMD_DEVICE_LIBS_PREFIX_CODE blank and include absolute paths in the target
# imports in AMD_DEVICE_LIBS_TARGET_CODE.
foreach(target ${AMDGCN_LIB_LIST})
get_target_property(target_path ${target} OUTPUT_NAME)
set(AMD_DEVICE_LIBS_TARGET_CODE "${AMD_DEVICE_LIBS_TARGET_CODE}
add_library(${target} STATIC IMPORTED)
set_target_properties(${target} PROPERTIES
IMPORTED_LOCATION \"${target_path}\")")
endforeach()
configure_file(AMDDeviceLibsConfig.cmake.in
${PACKAGE_PREFIX}/AMDDeviceLibsConfig.cmake
@ONLY)
# Generate the install-tree package.
# We do not know the absolute path to the intall tree until we are installed,
# so we calculate it dynamically in AMD_DEVICE_LIBS_PREFIX_CODE and use
# relative paths in the target imports in AMD_DEVICE_LIBS_TARGET_CODE.
set(AMD_DEVICE_LIBS_PREFIX_CODE "
# Derive absolute install prefix from config file path.
get_filename_component(AMD_DEVICE_LIBS_PREFIX \"\${CMAKE_CURRENT_LIST_FILE}\" PATH)")
string(REGEX REPLACE "/" ";" count "${PACKAGE_PREFIX}")
foreach(p ${count})
set(AMD_DEVICE_LIBS_PREFIX_CODE "${AMD_DEVICE_LIBS_PREFIX_CODE}
get_filename_component(AMD_DEVICE_LIBS_PREFIX \"\${AMD_DEVICE_LIBS_PREFIX}\" PATH)")
endforeach()
set(AMD_DEVICE_LIBS_TARGET_CODE)
foreach(target ${AMDGCN_LIB_LIST})
get_target_property(target_name ${target} ARCHIVE_OUTPUT_NAME)
get_target_property(target_prefix ${target} PREFIX)
get_target_property(target_suffix ${target} SUFFIX)
set(AMD_DEVICE_LIBS_TARGET_CODE "${AMD_DEVICE_LIBS_TARGET_CODE}
add_library(${target} STATIC IMPORTED)
set_target_properties(${target} PROPERTIES
IMPORTED_LOCATION \"\${AMD_DEVICE_LIBS_PREFIX}/lib/${target_prefix}${target_name}${target_suffix}\")")
endforeach()
configure_file(AMDDeviceLibsConfig.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/AMDDeviceLibsConfig.cmake.install
@ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/AMDDeviceLibsConfig.cmake.install
DESTINATION ${PACKAGE_PREFIX}
RENAME AMDDeviceLibsConfig.cmake)