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]
Этот коммит содержится в:
@@ -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)
|
||||
|
||||
@@ -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,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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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@)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user