From e5fb81bb5526634bed3e20734cf1c4429ca05a47 Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Wed, 22 Apr 2020 11:18:49 -0400 Subject: [PATCH] Modernize cmake usage for finding amd_comgr Don't use find_path on the header, it's redundant with the interface include directories on the imported target. Use the target specific forms for including and linking it. Change-Id: I3923143c992888ee7d5ee1130084ac2e5eaa0f3a [ROCm/clr commit: 83455f36c53598e86514c43590f4a068613f0e98] --- projects/clr/rocclr/CMakeLists.txt | 14 +++------- .../clr/rocclr/device/rocm/CMakeLists.txt | 27 ++++++++++++------- 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/projects/clr/rocclr/CMakeLists.txt b/projects/clr/rocclr/CMakeLists.txt index 06f283ba01..279b2fe0e7 100644 --- a/projects/clr/rocclr/CMakeLists.txt +++ b/projects/clr/rocclr/CMakeLists.txt @@ -22,12 +22,7 @@ find_package(amd_comgr REQUIRED CONFIG ) MESSAGE(STATUS "Code Object Manager found at ${amd_comgr_DIR}.") -find_path(COMGR_INCLUDE - NAMES amd_comgr.h - PATH_SUFFIXES include - PATHS /opt/rocm -) - +# FIXME: Use find_package(OpenCL) find_library( OpenCL REQUIRED CONFIG PATHS /opt/rocm @@ -84,7 +79,6 @@ include_directories(${OPENCL_DIR}/khronos) include_directories(${OPENCL_DIR}/khronos/headers) include_directories(${OPENCL_DIR}/khronos/headers/opencl2.2) include_directories(${OPENCL_INCLUDE_DIR}) -include_directories(${COMGR_INCLUDE}) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/compiler/lib) @@ -106,9 +100,6 @@ else () add_subdirectory(device/rocm) endif() - -#find_package(amd_comgr REQUIRED CONFIG) -include_directories("$") set(COMGR_CPP device/comgrctx.cpp) add_subdirectory( elf/utils/libelf "${CMAKE_CURRENT_BINARY_DIR}/libelf" ) @@ -147,6 +138,9 @@ add_library(oclruntime OBJECT ${COMGR_CPP} ) +target_include_directories(oclruntime PUBLIC + $) + set_target_properties(oclruntime PROPERTIES POSITION_INDEPENDENT_CODE ON) add_library(amdvdi_static STATIC diff --git a/projects/clr/rocclr/device/rocm/CMakeLists.txt b/projects/clr/rocclr/device/rocm/CMakeLists.txt index a544d89ce4..b4650976bc 100644 --- a/projects/clr/rocclr/device/rocm/CMakeLists.txt +++ b/projects/clr/rocclr/device/rocm/CMakeLists.txt @@ -1,12 +1,3 @@ -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/compiler/lib/loaders/elf/utils/common) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/compiler/lib/loaders/elf/utils/libelf) -include_directories(${CMAKE_CURRENT_BINARY_DIR}) -include_directories(${ROCM_OCL_INCLUDES}) - -if(${USE_COMGR_LIBRARY} MATCHES "yes") - add_definitions(-DUSE_COMGR_LIBRARY) -endif() - add_library(oclrocm OBJECT roccounters.cpp rocprintf.cpp @@ -24,5 +15,23 @@ add_library(oclrocm OBJECT rochcprintf.cpp rochostcall.cpp ) + + +target_include_directories(oclrocm + PUBLIC + $ + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/compiler/lib/loaders/elf/utils/common + ${CMAKE_CURRENT_SOURCE_DIR}/compiler/lib/loaders/elf/utils/libelf + ${CMAKE_CURRENT_BINARY_DIR} + ${ROCM_OCL_INCLUDES}) + + +# FIXME: Move this to config header. +if(${USE_COMGR_LIBRARY} MATCHES "yes") + target_compile_definitions(oclrocm + PUBLIC USE_COMGR_LIBRARY) +endif() + set_target_properties(oclrocm PROPERTIES POSITION_INDEPENDENT_CODE ON)