set(TESTS OCLPerf3DImageWriteSpeed OCLPerfAES256 OCLPerfAtomicSpeed20 OCLPerfAtomicSpeed OCLPerfBufferCopyOverhead OCLPerfBufferCopySpeed OCLPerfBufferReadSpeed OCLPerfBufferWriteSpeed OCLPerfCommandQueue OCLPerfConcurrency OCLPerfCPUMemSpeed OCLPerfDeviceConcurrency OCLPerfDeviceEnqueue OCLPerfDeviceEnqueue2 OCLPerfDeviceEnqueueEvent OCLPerfDeviceEnqueueSier OCLPerfDevMemReadSpeed OCLPerfDevMemWriteSpeed OCLPerfDispatchSpeed OCLPerfDoubleDMA OCLPerfDoubleDMASeq OCLPerfFillBuffer OCLPerfFillImage OCLPerfFlush OCLPerfGenericBandwidth OCLPerfGenoilSiaMiner OCLPerfImageCopyCorners OCLPerfImageCopySpeed OCLPerfImageCreate OCLPerfImageMapUnmap OCLPerfImageReadSpeed OCLPerfImageReadsRGBA OCLPerfImageReadWrite OCLPerfImageSampleRate OCLPerfImageWriteSpeed OCLPerfKernelArguments OCLPerfKernelThroughput OCLPerfLDSLatency OCLPerfLDSReadSpeed OCLPerfMandelbrot OCLPerfMapBufferReadSpeed OCLPerfMapBufferWriteSpeed OCLPerfMapImageReadSpeed OCLPerfMapImageWriteSpeed OCLPerfMatrixTranspose OCLPerfMemCombine OCLPerfMemCreate OCLPerfMemLatency OCLPerfPinnedBufferReadSpeed OCLPerfPinnedBufferWriteSpeed OCLPerfPipeCopySpeed OCLPerfProgramGlobalRead OCLPerfProgramGlobalWrite OCLPerfSampleRate OCLPerfScalarReplArrayElem OCLPerfSdiP2PCopy OCLPerfSHA256 OCLPerfSVMAlloc OCLPerfSVMKernelArguments OCLPerfSVMMap OCLPerfSVMMemcpy OCLPerfSVMMemFill OCLPerfSVMSampleRate OCLPerfTextureMemLatency OCLPerfUAVReadSpeed OCLPerfUAVReadSpeedHostMem OCLPerfUAVWriteSpeedHostMem OCLPerfUncoalescedRead OCLPerfVerticalFetch ) add_library(oclperf SHARED TestList.cpp $) foreach(TEST ${TESTS}) target_sources(oclperf PRIVATE ${TEST}.cpp) endforeach() if(OPENGL_FOUND AND GLEW_FOUND) target_sources(oclperf PRIVATE OCLPerfSepia.cpp) endif() set_target_properties(oclperf PROPERTIES CXX_STANDARD 14 CXX_STANDARD_REQUIRED ON CXX_EXTENSIONS OFF RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/tests/ocltst LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/tests/ocltst) target_compile_definitions(oclperf PRIVATE $) target_include_directories(oclperf PRIVATE $) target_link_libraries(oclperf PRIVATE OpenCL) if(OPENGL_FOUND AND GLEW_FOUND) target_link_libraries(oclperf PRIVATE ${GLEW_LIBRARIES} ${OPENGL_LIBRARIES}) endif() add_custom_command( TARGET oclperf POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/oclperf.exclude ${CMAKE_BINARY_DIR}/tests/ocltst/oclperf.exclude) add_custom_target(test.ocltst.oclperf COMMAND ${CMAKE_COMMAND} -E env "OCL_ICD_FILENAMES=$" $ -p 0 -m $ -A oclperf.exclude DEPENDS ocltst oclperf amdocl WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/tests/ocltst USES_TERMINAL) foreach(TEST ${TESTS}) add_custom_target(test.ocltst.oclperf.${TEST} COMMAND ${CMAKE_COMMAND} -E env "OCL_ICD_FILENAMES=$" $ -p 0 -m $ -t ${TEST} DEPENDS ocltst oclperf amdocl WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/tests/ocltst USES_TERMINAL) endforeach() INSTALL(TARGETS oclperf DESTINATION tests/ocltst) INSTALL(FILES oclperf.exclude DESTINATION tests/ocltst)