Files
rocm-systems/rocclr/device/rocm/CMakeLists.txt
T
Freddy Paul 6b8ae3dd77 Align to new hsa cmake target usage.
HIP or any ROCm component above HIP may not be calling
hsa-runtime directly. OpenCl and HIP are the two components
calling ROCclr and to bring in the transitive dependency of
thunk,ROCR,amd_comgr it is better to have the dependency
chain set correctly in the ROCclr cmake target. With this
change OpenCl or HIP should not be setting ROCR dependency
directly.

This helps to link OpenCl(libamdocl.so) link statically with
comgr,hsa,thunk.

Change-Id: I0d538b7abc6a0ce700ec3332b97fc144db5fc5ff
2020-07-22 11:21:09 -04:00

50 lines
1.3 KiB
CMake

add_library(oclrocm OBJECT
roccounters.cpp
rocprintf.cpp
rocprogram.cpp
rocmemory.cpp
rocdevice.cpp
rocblit.cpp
rockernel.cpp
rocvirtual.cpp
rocglinterop.cpp
rocappprofile.cpp
rocsettings.cpp
rocschedcl.cpp
rochostcall.cpp
)
target_include_directories(oclrocm
PUBLIC
$<INSTALL_INTERFACE:include>
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
# GL and EGL headers
$<BUILD_INTERFACE:${OPENCL_DIR}/khronos/headers>
$<BUILD_INTERFACE:${OPENCL_DIR}/khronos/headers/opencl2.2>
$<TARGET_PROPERTY:amd_comgr,INTERFACE_INCLUDE_DIRECTORIES>
PRIVATE
${OPENCL_DIR}
${PROJECT_SOURCE_DIR}/compiler/lib
${PROJECT_SOURCE_DIR}/compiler/lib/include
${PROJECT_SOURCE_DIR}/compiler/lib/backends/common
${PROJECT_SOURCE_DIR}/compiler/lib/loaders/elf/utils/common
${PROJECT_SOURCE_DIR}/compiler/lib/loaders/elf/utils/libelf
${CMAKE_CURRENT_BINARY_DIR}
${ROCM_OCL_INCLUDES}
$<TARGET_PROPERTY:hsa-runtime64::hsa-runtime64,INTERFACE_INCLUDE_DIRECTORIES>)
option(BUILD_HMM "Build HMM support" OFF)
if (BUILD_HMM)
target_compile_definitions(oclrocm
PRIVATE AMD_HMM_SUPPORT)
endif()
if(USE_COMGR_LIBRARY)
target_compile_definitions(oclrocm
PRIVATE USE_COMGR_LIBRARY)
endif()
set_target_properties(oclrocm PROPERTIES POSITION_INDEPENDENT_CODE ON)