From ca460b03eeb32dec143c28bd8006d0285061a8f7 Mon Sep 17 00:00:00 2001 From: Vladislav Sytchenko Date: Sat, 5 Jun 2021 12:52:31 -0400 Subject: [PATCH] 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: c6eadce1801f399f8dfc51a6d65dabf1bde5cfb2] --- projects/clr/opencl/CMakeLists.txt | 64 ++++++++++-------------------- 1 file changed, 21 insertions(+), 43 deletions(-) diff --git a/projects/clr/opencl/CMakeLists.txt b/projects/clr/opencl/CMakeLists.txt index b749f81d32..e3782ffc3d 100644 --- a/projects/clr/opencl/CMakeLists.txt +++ b/projects/clr/opencl/CMakeLists.txt @@ -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 $ - DESTINATION lib - COMPONENT MAIN) -install(PROGRAMS $ - 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 $ - 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