compute-runtime/opencl/test/unit_test/aub_tests/CMakeLists.txt

135 lines
4.9 KiB
CMake

#
# Copyright (C) 2017-2020 Intel Corporation
#
# SPDX-License-Identifier: MIT
#
project(igdrcl_aub_tests)
include(${CMAKE_CURRENT_SOURCE_DIR}/common.cmake)
list(APPEND IGDRCL_AUB_TESTS__TARGET_OBJECTS
${CMAKE_CURRENT_SOURCE_DIR}/aub_tests_configuration.cpp
${NEO_SOURCE_DIR}/opencl/source/aub/aub_stream_interface.cpp
${NEO_SOURCE_DIR}/opencl/test/unit_test/libult/os_interface.cpp
$<TARGET_OBJECTS:${BUILTINS_SOURCES_LIB_NAME}>
$<TARGET_OBJECTS:${SCHEDULER_BINARY_LIB_NAME}>
$<TARGET_OBJECTS:igdrcl_libult>
$<TARGET_OBJECTS:igdrcl_libult_cs>
$<TARGET_OBJECTS:igdrcl_libult_env>
)
if(DEFINED AUB_STREAM_DIR)
list(APPEND IGDRCL_AUB_TESTS__TARGET_OBJECTS $<TARGET_OBJECTS:${AUB_STREAM_PROJECT_NAME}_all_hw>)
endif()
add_executable(igdrcl_aub_tests
${IGDRCL_AUB_TESTS__TARGET_OBJECTS}
)
set_target_properties(igdrcl_aub_tests PROPERTIES FOLDER ${TEST_PROJECTS_FOLDER})
if(WIN32)
set_target_properties(igdrcl_aub_tests PROPERTIES
VS_DEBUGGER_WORKING_DIRECTORY ${TargetDir}
)
endif()
add_custom_target(run_aub_tests)
set_target_properties(run_aub_tests PROPERTIES FOLDER ${TEST_PROJECTS_FOLDER})
if(WIN32)
target_include_directories(igdrcl_aub_tests PRIVATE
${NEO_SOURCE_DIR}/opencl/test/unit_test/mocks${BRANCH_DIR_SUFFIX}
)
endif()
target_include_directories(igdrcl_aub_tests PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
target_sources(igdrcl_aub_tests PRIVATE
${NEO_CORE_DIRECTORY}/unit_tests/page_fault_manager/default_asan_options.cpp
${NEO_CORE_DIRECTORY}/gmm_helper/resource_info.cpp
${CMAKE_CURRENT_SOURCE_DIR}/test_mode.h
)
if(WIN32)
target_sources(igdrcl_aub_tests PRIVATE
${NEO_CORE_DIRECTORY}/os_interface/windows/gmm_interface_win.cpp
${NEO_CORE_DIRECTORY}/gmm_helper/windows/gmm_memory.cpp
${NEO_SOURCE_DIR}/opencl/test/unit_test/os_interface/windows/wddm_create.cpp
)
else()
target_sources(igdrcl_aub_tests PRIVATE
${NEO_CORE_DIRECTORY}/os_interface/linux/gmm_interface_linux.cpp
${NEO_SOURCE_DIR}/opencl/test/unit_test/os_interface/linux/drm_neo_create.cpp
)
endif()
copy_gmm_dll_for(igdrcl_aub_tests)
add_subdirectories()
target_link_libraries(igdrcl_aub_tests igdrcl_mocks)
target_link_libraries(igdrcl_aub_tests ${NEO_MOCKABLE_LIB_NAME} ${NEO_CORE_MOCKABLE_LIB_NAME} ${NEO_MOCKABLE_LIB_NAME})
target_link_libraries(igdrcl_aub_tests igdrcl_mocks)
target_link_libraries(igdrcl_aub_tests gmock-gtest ${IGDRCL_EXTRA_LIBS})
if(UNIX)
target_link_libraries(igdrcl_aub_tests ${GMM_LINK_NAME})
else()
add_dependencies(igdrcl_aub_tests ${GMM_TARGET_NAME})
target_sources(igdrcl_aub_tests PRIVATE
${NEO_CORE_DIRECTORY}/os_interface/windows/gmm_interface_win.cpp
)
endif()
target_include_directories(igdrcl_aub_tests BEFORE PRIVATE ${NEO_CORE_DIRECTORY}/unit_tests/test_macros${BRANCH_DIR_SUFFIX})
macro(macro_for_each_test_config)
if(NOT TARGET ${PLATFORM_IT_LOWER}_aub_tests)
add_custom_target(${PLATFORM_IT_LOWER}_aub_tests
DEPENDS igdrcl_aub_tests
DEPENDS copy_test_files_${PLATFORM_IT_LOWER}
)
foreach(PLATFORM_TYPE ${PLATFORM_TYPES})
if(${PLATFORM_IT}_IS_${PLATFORM_TYPE})
get_family_name_with_type(${GEN_TYPE} ${PLATFORM_TYPE})
add_dependencies(${PLATFORM_IT_LOWER}_aub_tests prepare_test_kernels_${family_name_with_type})
endif()
endforeach()
add_custom_target(run_${PLATFORM_IT_LOWER}_aub_tests ALL DEPENDS ${PLATFORM_IT_LOWER}_aub_tests)
add_dependencies(run_aub_tests run_${PLATFORM_IT_LOWER}_aub_tests)
set_target_properties(${PLATFORM_IT_LOWER}_aub_tests PROPERTIES FOLDER "${PLATFORM_SPECIFIC_TARGETS_FOLDER}/${PLATFORM_IT_LOWER}")
set_target_properties(run_${PLATFORM_IT_LOWER}_aub_tests PROPERTIES FOLDER "${PLATFORM_SPECIFIC_TARGETS_FOLDER}/${PLATFORM_IT_LOWER}")
add_custom_command(
TARGET ${PLATFORM_IT_LOWER}_aub_tests
POST_BUILD
COMMAND WORKING_DIRECTORY ${TargetDir}
COMMAND echo Creating output directory for ${PLATFORM_IT_LOWER} AUBs generation...
COMMAND ${CMAKE_COMMAND} -E make_directory "${TargetDir}/${PLATFORM_IT_LOWER}_aub/aub_out"
)
if(WIN32)
add_dependencies(${PLATFORM_IT_LOWER}_aub_tests mock_gdi)
endif()
endif()
set(AUB_TESTS_OPTIONS "")
if (NOT ${AUB_DUMP_BUFFER_FORMAT} STREQUAL "")
list(APPEND AUB_TESTS_OPTIONS --dump_buffer_format)
list(APPEND AUB_TESTS_OPTIONS ${AUB_DUMP_BUFFER_FORMAT})
endif()
if (NOT ${AUB_DUMP_IMAGE_FORMAT} STREQUAL "")
list(APPEND AUB_TESTS_OPTIONS --dump_image_format)
list(APPEND AUB_TESTS_OPTIONS ${AUB_DUMP_IMAGE_FORMAT})
endif()
neo_run_aub_target(${PLATFORM_IT_LOWER} "${PLATFORM_IT} ${SLICES}x${SUBSLICES}x${EU_PER_SS}" ${PLATFORM_IT_LOWER} ${SLICES} ${SUBSLICES} ${EU_PER_SS} "${AUB_TESTS_OPTIONS}")
endmacro()
macro(macro_for_each_platform)
apply_macro_for_each_test_config("AUB_TESTS")
endmacro()
macro(macro_for_each_gen)
apply_macro_for_each_platform()
endmacro()
apply_macro_for_each_gen("TESTED")
create_project_source_tree(igdrcl_aub_tests ${NEO_SOURCE_DIR}/runtime ${NEO_SOURCE_DIR}/unit_tests)