Files
rocm-systems/opencl/tests/ocltst/module/runtime/CMakeLists.txt
T
Vladislav Sytchenko 6c9b07370c SWDEV-301289 - Point to local AMD OpenCL via OCL_ICD_FILENAMES
The OCL_ICD_FILENAMES env var contains a list of OpenCL platforms that
the ICD should prepend to the list of reported platforms. Since the
built amdocl library will show up as the first platform, we can tell
ocltst to always run with platform 0. This way we guarantee that the
correct binary is being loaded.

Using this env var also makes programming LD_LIBRARY_PATH redundant
for Linux.

Change-Id: I8c1729e8b4dd1cd2df1a3da08c7b7addebd08b4f
2021-09-25 17:03:17 -04:00

110 γραμμές
2.6 KiB
CMake

set(TESTS
OCLAsyncMap
OCLAsyncTransfer
OCLAtomicCounter
OCLBlitKernel
OCLBufferFromImage
OCLCPUGuardPages
OCLCreateBuffer
OCLCreateContext
OCLCreateImage
OCLDeviceAtomic
OCLDeviceQueries
OCLDynamic
OCLDynamicBLines
OCLGenericAddressSpace
OCLGetQueueThreadID
OCLGlobalOffset
OCLImage2DFromBuffer
OCLImageCopyPartial
OCLKernelBinary
OCLLDS32K
OCLLinearFilter
OCLLiquidFlash
OCLMapCount
OCLMemDependency
OCLMemObjs
OCLMemoryInfo
OCLMultiQueue
OCLOfflineCompilation
OCLP2PBuffer
OCLPartialWrkgrp
OCLPerfCounters
OCLPersistent
OCLPinnedMemory
OCLPlatformAtomics
OCLProgramScopeVariables
OCLReadWriteImage
OCLRTQueue
OCLSDI
OCLSemaphore
OCLStablePState
OCLSVM
OCLThreadTrace
OCLUnalignedCopy
)
add_library(oclruntime SHARED
TestList.cpp
$<TARGET_OBJECTS:Common>)
foreach(TEST ${TESTS})
target_sources(oclruntime
PRIVATE
${TEST}.cpp)
endforeach()
set_target_properties(oclruntime PROPERTIES
CXX_STANDARD 14
CXX_STANDARD_REQUIRED ON
CXX_EXTENSIONS OFF
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/tests/ocltst
EXCLUDE_FROM_ALL TRUE)
target_compile_definitions(oclruntime
PRIVATE
$<TARGET_PROPERTY:Common,INTERFACE_COMPILE_DEFINITIONS>)
target_include_directories(oclruntime
PRIVATE
$<TARGET_PROPERTY:Common,INTERFACE_INCLUDE_DIRECTORIES>)
target_link_libraries(oclruntime
PRIVATE
OpenCL)
if(OPENGL_FOUND AND GLEW_FOUND)
target_link_libraries(oclruntime
PRIVATE
${GLEW_LIBRARIES}
${OPENGL_LIBRARIES})
endif()
add_custom_command(
TARGET oclruntime POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_CURRENT_SOURCE_DIR}/oclruntime.exclude
${CMAKE_BINARY_DIR}/tests/ocltst/oclruntime.exclude)
add_custom_target(test.ocltst.oclruntime
COMMAND
${CMAKE_COMMAND} -E env "OCL_ICD_FILENAMES=$<TARGET_FILE:amdocl>"
$<TARGET_FILE:ocltst> -p 0 -m $<TARGET_FILE:oclruntime> -A oclruntime.exclude
DEPENDS
ocltst oclruntime amdocl
WORKING_DIRECTORY
${CMAKE_BINARY_DIR}/tests/ocltst
USES_TERMINAL)
foreach(TEST ${TESTS})
add_custom_target(test.ocltst.oclruntime.${TEST}
COMMAND
${CMAKE_COMMAND} -E env "OCL_ICD_FILENAMES=$<TARGET_FILE:amdocl>"
$<TARGET_FILE:ocltst> -p 0 -m $<TARGET_FILE:oclruntime> -t ${TEST}
DEPENDS
ocltst oclruntime amdocl
WORKING_DIRECTORY
${CMAKE_BINARY_DIR}/tests/ocltst
USES_TERMINAL)
endforeach()