SWDEV-273235 - Enable building clinfo/cltrace on Windows

This patch also includes additional cleanup logic to the installation
rules. The OpenCL ICD already defines its own installation rules, no
need to duplicate them.

Change-Id: Id1c386307a83b82e21f6fa132e41957d9b348fd3


[ROCm/clr commit: c6eadce180]
Este commit está contenido en:
Vladislav Sytchenko
2021-06-05 12:52:31 -04:00
padre 43b6294afb
commit ca460b03ee
+21 -43
Ver fichero
@@ -11,51 +11,17 @@ include(GNUInstallDirs)
option(BUILD_TESTS "Enable building OpenCL tests" ON)
if(NOT WIN32)
set(OPENCL_ICD_LOADER_HEADERS_DIR "${CMAKE_CURRENT_LIST_DIR}/khronos/headers/opencl2.2" CACHE PATH "")
add_subdirectory(khronos/icd)
endif()
set(OPENCL_ICD_LOADER_HEADERS_DIR "${CMAKE_CURRENT_LIST_DIR}/khronos/headers/opencl2.2" CACHE PATH "")
add_subdirectory(khronos/icd)
add_subdirectory(amdocl)
if(NOT WIN32)
add_subdirectory(tools/clinfo)
add_subdirectory(tools/cltrace)
add_subdirectory(tools/clinfo)
add_subdirectory(tools/cltrace)
if(BUILD_TESTS)
add_subdirectory(tests/ocltst)
endif()
endif()
#set a name for icd file
set(OPENCL_AMD_ICD_FILE "amdocl64.icd")
if (DEFINED ROCM_PATCH_VERSION)
set(OPENCL_AMD_ICD_FILE "amdocl64_${ROCM_PATCH_VERSION}.icd")
endif()
if(TARGET OpenCL)
get_target_property(OPENCL_LIB_VERSION_MAJOR OpenCL SOVERSION)
get_target_property(OPENCL_LIB_VERSION_STRING OpenCL VERSION)
endif()
find_package(ROCM QUIET CONFIG PATHS /opt/rocm)
if(ROCM_FOUND)
include(ROCMSetupVersion)
rocm_setup_version( VERSION "2.0.0" )
else()
set(PROJECT_VERSION "2.0.0")
endif()
###--- Packaging ------------------------------------------------------------###
# MAIN package
if(TARGET OpenCL)
install(PROGRAMS $<TARGET_FILE:OpenCL>
DESTINATION lib
COMPONENT MAIN)
install(PROGRAMS $<TARGET_SONAME_FILE:OpenCL>
DESTINATION lib
COMPONENT MAIN)
endif()
# DEV package
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/khronos/headers/opencl2.2/CL"
DESTINATION include
@@ -65,16 +31,28 @@ install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/khronos/headers/opencl2.2/CL"
PATTERN cl_d3d11.h EXCLUDE
PATTERN cl_dx9_media_sharing.h EXCLUDE
PATTERN cl_egl.h EXCLUDE)
if(TARGET OpenCL)
install(PROGRAMS $<TARGET_LINKER_FILE:OpenCL>
DESTINATION lib
COMPONENT DEV)
endif()
#############################
# Packaging steps
#############################
if(NOT WIN32)
find_package(ROCM QUIET CONFIG PATHS /opt/rocm)
if(ROCM_FOUND)
include(ROCMSetupVersion)
rocm_setup_version( VERSION "2.0.0" )
else()
set(PROJECT_VERSION "2.0.0")
endif()
#set a name for icd file
set(OPENCL_AMD_ICD_FILE "amdocl64.icd")
if (DEFINED ROCM_PATCH_VERSION)
set(OPENCL_AMD_ICD_FILE "amdocl64_${ROCM_PATCH_VERSION}.icd")
endif()
get_target_property(OPENCL_LIB_VERSION_MAJOR OpenCL SOVERSION)
get_target_property(OPENCL_LIB_VERSION_STRING OpenCL VERSION)
set(CPACK_PACKAGING_INSTALL_PREFIX "/opt/rocm/opencl" CACHE PATH "Package Installation path for OpenCL")
#ROCM_PATH is needed to create symlink of libraries