SWDEV-321118 - Use GNUInstallDirs

Use GNUInstallDirs variables to determine the location of BINDIR,
LIBDIR, DOCDIR, and SYSCONFDIR.

Note that CMAKE_INSTALL_LIBDIR is overriden, since the default for RHEL
is lib64, but ROCm packaging wants it to be lib always. Distros or users
can easily override this.

Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>
Change-Id: Ifb38263dce80d80c5ebb4eacd8e49c76bb013a44


[ROCm/clr commit: b8c124acb5]
Этот коммит содержится в:
Jeremy Newton
2022-01-31 17:54:14 -05:00
родитель 60d0d8444e
Коммит 6e388071ba
7 изменённых файлов: 20 добавлений и 17 удалений
+3
Просмотреть файл
@@ -7,6 +7,9 @@ endif()
project(opencl)
# Set default libdir to be "lib" for ROCm, distros will override this anyway:
set(CMAKE_INSTALL_LIBDIR "lib" CACHE STRING "Library install directory")
include(GNUInstallDirs)
option(BUILD_TESTS "Enable building OpenCL tests" OFF)
+4 -4
Просмотреть файл
@@ -68,7 +68,7 @@ function(generate_wrapper_header)
set(include_guard "${include_guard}OPENCL_WRAPPER_INCLUDE_${INC_GAURD_NAME}_H")
#set #include statement
get_filename_component(file_name ${header_file} NAME)
set(include_statements "${include_statements}#include \"../../../include/CL/${file_name}\"\n")
set(include_statements "${include_statements}#include \"../../../${CMAKE_INSTALL_INCLUDEDIR}/CL/${file_name}\"\n")
configure_file(${OPENCL_WRAPPER_DIR}/header.hpp.in ${OPENCL_WRAPPER_INC_DIR}/${file_name})
unset(include_guard)
unset(include_statements)
@@ -83,7 +83,7 @@ function(create_binary_symlink)
add_custom_target(link_${file_name} ALL
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} -E create_symlink
../../bin/${file_name} ${OPENCL_WRAPPER_BIN_DIR}/${file_name})
../../${CMAKE_INSTALL_BINDIR}/${file_name} ${OPENCL_WRAPPER_BIN_DIR}/${file_name})
endfunction()
#function to create symlink to libraries
@@ -98,7 +98,7 @@ function(create_library_symlink)
add_custom_target(link_${file_name} ALL
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} -E create_symlink
../../lib/${file_name} ${OPENCL_WRAPPER_LIB_DIR}/${file_name})
../../${CMAKE_INSTALL_LIBDIR}/${file_name} ${OPENCL_WRAPPER_LIB_DIR}/${file_name})
endforeach()
if(BUILD_SHARED_LIBS)
set(LIB_AMDDOC "libamdocl64.so")
@@ -109,7 +109,7 @@ function(create_library_symlink)
add_custom_target(link_${file_name} ALL
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} -E create_symlink
../../lib/${file_name} ${OPENCL_WRAPPER_DIR}/${file_name})
../../${CMAKE_INSTALL_LIBDIR}/${file_name} ${OPENCL_WRAPPER_DIR}/${file_name})
endfunction()
#Creater a template for header file
+5 -5
Просмотреть файл
@@ -5,9 +5,9 @@ set(CPACK_COMPONENTS_ALL binary dev icd)
set(CPACK_DEB_COMPONENT_INSTALL ON)
set(CPACK_RPM_COMPONENT_INSTALL ON)
install(TARGETS clinfo DESTINATION bin COMPONENT binary)
install(TARGETS amdocl DESTINATION lib COMPONENT binary)
install(FILES ${CMAKE_SOURCE_DIR}/LICENSE.txt DESTINATION share/doc/${CMAKE_PROJECT_NAME} COMPONENT binary)
install(TARGETS clinfo DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT binary)
install(TARGETS amdocl DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary)
install(FILES ${CMAKE_SOURCE_DIR}/LICENSE.txt DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT binary)
install(DIRECTORY ${CMAKE_SOURCE_DIR}/khronos/headers/opencl2.2/CL
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT dev
@@ -17,8 +17,8 @@ install(DIRECTORY ${CMAKE_SOURCE_DIR}/khronos/headers/opencl2.2/CL
PATTERN cl_dx9_media_sharing.h EXCLUDE
PATTERN cl_egl.h EXCLUDE )
install(TARGETS OpenCL DESTINATION lib COMPONENT icd )
install(FILES ${CMAKE_SOURCE_DIR}/khronos/icd/LICENSE DESTINATION share/doc/rocm-ocl-icd COMPONENT icd)
install(TARGETS OpenCL DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT icd )
install(FILES ${CMAKE_SOURCE_DIR}/khronos/icd/LICENSE DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/rocm-ocl-icd COMPONENT icd)
# Generic CPACK variables
+2 -2
Просмотреть файл
@@ -5,8 +5,8 @@ set -e
INSTALL_PATH=@CPACK_PACKAGING_INSTALL_PREFIX@
do_ldconfig() {
echo ${INSTALL_PATH}/lib > /etc/ld.so.conf.d/10-rocm-opencl.conf && ldconfig
mkdir -p /etc/OpenCL/vendors && (echo libamdocl64.so > /etc/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@)
echo ${INSTALL_PATH}/@CMAKE_INSTALL_LIBDIR@ > /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/10-rocm-opencl.conf && ldconfig
mkdir -p /@CMAKE_INSTALL_SYSCONFDIR@/OpenCL/vendors && (echo libamdocl64.so > /@CMAKE_INSTALL_SYSCONFDIR@/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@)
}
case "$1" in
+2 -2
Просмотреть файл
@@ -3,8 +3,8 @@
set -e
rm_ldconfig() {
rm -f /etc/ld.so.conf.d/10-rocm-opencl.conf && ldconfig
rm -f /etc/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@
rm -f /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/10-rocm-opencl.conf && ldconfig
rm -f /@CMAKE_INSTALL_SYSCONFDIR@/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@
}
case "$1" in
+2 -2
Просмотреть файл
@@ -1,4 +1,4 @@
INSTALL_PATH=@CPACK_PACKAGING_INSTALL_PREFIX@
echo ${INSTALL_PATH}/lib > /etc/ld.so.conf.d/10-rocm-opencl.conf && ldconfig
mkdir -p /etc/OpenCL/vendors && (echo libamdocl64.so > /etc/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@)
echo ${INSTALL_PATH}/@CMAKE_INSTALL_LIBDIR@ > /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/10-rocm-opencl.conf && ldconfig
mkdir -p /@CMAKE_INSTALL_SYSCONFDIR@/OpenCL/vendors && (echo libamdocl64.so > /@CMAKE_INSTALL_SYSCONFDIR@/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@)
+2 -2
Просмотреть файл
@@ -1,8 +1,8 @@
if [ $1 -le 1 ]; then
# Below files will be removed during remove | upgrade operation
rm -f /etc/ld.so.conf.d/10-rocm-opencl.conf && ldconfig
rm -f /etc/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@
rm -f /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/10-rocm-opencl.conf && ldconfig
rm -f /@CMAKE_INSTALL_SYSCONFDIR@/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@
fi