about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/rocm-modules/6/rocm-device-libs/cmake.patch
blob: 500ff37a9905204ac9c6ac2b014d8f39a62f1646 (plain) (blame)
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
diff --git a/cmake/Packages.cmake b/cmake/Packages.cmake
index 07c60eb..c736b3e 100644
--- a/cmake/Packages.cmake
+++ b/cmake/Packages.cmake
@@ -12,24 +12,29 @@ set_target_properties(${target} PROPERTIES
   IMPORTED_LOCATION \"${target_path}\")")
 endforeach()
 configure_file(AMDDeviceLibsConfig.cmake.in
-  ${PACKAGE_PREFIX}/AMDDeviceLibsConfig.cmake
+  lib/cmake/AMDDeviceLibs/AMDDeviceLibsConfig.cmake
   @ONLY)
 
 
 set(install_path_suffix "amdgcn/bitcode")
 
 # 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 "
+if(IS_ABSOLUTE "${CMAKE_INSTALL_PREFIX}")
+  set(AMD_DEVICE_LIBS_PREFIX_CODE "set(AMD_DEVICE_LIBS_PREFIX \"${CMAKE_INSTALL_PREFIX}\")")
+else()
+  # We do not know the absolute path to the install 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}
+  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()
+  endforeach()
+endif()
+
 set(AMD_DEVICE_LIBS_TARGET_CODE)
 foreach(target ${AMDGCN_LIB_LIST})
   get_target_property(target_name ${target} ARCHIVE_OUTPUT_NAME)