compute-runtime/shared/test/unit_test/CMakeLists.txt

80 lines
3.0 KiB
CMake

#
# Copyright (C) 2019-2023 Intel Corporation
#
# SPDX-License-Identifier: MIT
#
function(ADD_SUPPORTED_TEST_PRODUCT_FAMILIES_DEFINITION)
set(NEO_SUPPORTED_PRODUCT_FAMILIES ${ALL_TESTED_PRODUCT_FAMILY})
string(REPLACE ";" "," NEO_SUPPORTED_PRODUCT_FAMILIES "${NEO_SUPPORTED_PRODUCT_FAMILIES}")
add_definitions(-DSUPPORTED_TEST_PRODUCT_FAMILIES=${NEO_SUPPORTED_PRODUCT_FAMILIES})
endfunction()
ADD_SUPPORTED_TEST_PRODUCT_FAMILIES_DEFINITION()
link_libraries(${ASAN_LIBS} ${TSAN_LIBS})
add_executable(neo_shared_tests
${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt
${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
${CMAKE_CURRENT_SOURCE_DIR}/ult_specific_config.cpp
${NEO_SHARED_DIRECTORY}/helpers/allow_deferred_deleter.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/tests_configuration.h
${NEO_SHARED_TEST_DIRECTORY}/common/test_macros/test_checks_shared.cpp
$<TARGET_OBJECTS:mock_gmm>
$<TARGET_OBJECTS:neo_libult_common>
$<TARGET_OBJECTS:neo_libult_cs>
$<TARGET_OBJECTS:neo_libult>
$<TARGET_OBJECTS:neo_shared_mocks>
)
add_dependencies(neo_shared_tests test_dynamic_lib)
set_property(TARGET neo_shared_tests APPEND_STRING PROPERTY COMPILE_FLAGS ${ASAN_FLAGS})
set_target_properties(neo_shared_tests PROPERTIES FOLDER "${SHARED_TEST_PROJECTS_FOLDER}")
target_include_directories(neo_shared_tests PRIVATE
${NEO_SHARED_TEST_DIRECTORY}/common/test_configuration/unit_tests
${ENGINE_NODE_DIR}
${NEO_SHARED_TEST_DIRECTORY}/common/test_macros/header${BRANCH_DIR_SUFFIX}
${NEO_SHARED_TEST_DIRECTORY}/common/helpers/includes${BRANCH_DIR_SUFFIX}
)
if(UNIX AND NOT DISABLE_WDDM_LINUX)
target_include_directories(neo_shared_tests PUBLIC ${WDK_INCLUDE_PATHS})
endif()
if(WIN32)
target_link_libraries(neo_shared_tests dbghelp)
endif()
target_link_libraries(neo_shared_tests
gmock-gtest
${NEO_SHARED_MOCKABLE_LIB_NAME}
${NEO_EXTRA_LIBS}
)
if(MSVC)
set_target_properties(neo_shared_tests PROPERTIES
VS_DEBUGGER_COMMAND_ARGUMENTS "--gtest_filter=* --gtest_catch_exceptions=0 --enable_default_listener --disable_pagefaulting_tests"
VS_DEBUGGER_WORKING_DIRECTORY "$(OutDir)"
)
endif()
if(COMPILER_SUPPORTS_SSE42)
set_source_files_properties(helpers/uint16_sse4_tests.cpp PROPERTIES COMPILE_FLAGS -msse4.2)
endif()
add_subdirectory_unique(mocks)
add_subdirectories()
target_sources(neo_shared_tests PRIVATE
$<TARGET_OBJECTS:neo_unit_tests_config>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDFUL_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDLESS_LIB_NAME}>
)
add_dependencies(unit_tests prepare_test_kernels_for_shared)
add_dependencies(unit_tests neo_shared_tests)
create_project_source_tree(neo_shared_tests)