From e3b1ba2112275f6d883ee1d30e740767d63a86cf Mon Sep 17 00:00:00 2001 From: Mateusz Jablonski Date: Thu, 22 Mar 2018 11:35:24 +0100 Subject: [PATCH] Cmake refactor part 21 Add macro to simplify iteration for gens, platforms and test configs Common usage: 1. Write macro "macro_for_each_platform", you can use variables: GEN_TYPE, GEN_TYPE_LOWER, PLATFORM_IT, PLATFORM_IT_LOWER 2. Write macro "macro_for_each_gen", you can use variables: GEN_TYPE, GEN_TYPE_LOWER 3. In macro "macro_for_each_gen" call "apply_macro_for_each_platform" 4. Call "apply_macro_for_each_gen" with gen type (SUPPORTED/TESTED) When needed iterate over test configurations: 1. Write macro "macro_for_each_test_config", you can use variables from parent macro and SLICES, SUBSLICES and EU_PER_SS 2. In macro "macro_for_each_platform" call "apply_macro_for_each_test_config" with specified type (AUB_TESTS/MT_TESTS/UNIT_TESTS) Change-Id: Icd537f409a224a1ffade1874065f8fee66189350 --- common_macros.cmake | 30 +++++ offline_compiler/CMakeLists.txt | 37 +++--- runtime/CMakeLists.txt | 11 +- runtime/built_ins/builtins_binary.cmake | 27 ++-- runtime/built_ins/kernels/CMakeLists.txt | 22 ++-- .../builtin_kernels_simulation/CMakeLists.txt | 14 +-- runtime/enable_gens.cmake | 90 +++++++------- runtime/scheduler/scheduler_binary.cmake | 31 +++-- unit_tests/CMakeLists.txt | 117 ++++++++---------- unit_tests/aub_tests/CMakeLists.txt | 62 +++++----- unit_tests/gtpin/CMakeLists.txt | 11 +- unit_tests/libult/CMakeLists.txt | 37 +++--- unit_tests/linux/CMakeLists.txt | 19 ++- unit_tests/mt_tests/CMakeLists.txt | 36 +++--- 14 files changed, 262 insertions(+), 282 deletions(-) diff --git a/common_macros.cmake b/common_macros.cmake index 6d8a2f080c..9e5c47c3cf 100644 --- a/common_macros.cmake +++ b/common_macros.cmake @@ -63,3 +63,33 @@ macro(create_project_source_tree_with_exports target exports_filename) endif() endif() endmacro() + +macro(apply_macro_for_each_gen type) + set(given_type ${type}) + foreach(GEN_TYPE ${ALL_GEN_TYPES}) + string(TOLOWER ${GEN_TYPE} GEN_TYPE_LOWER) + GEN_CONTAINS_PLATFORMS(${given_type} ${GEN_TYPE} GENX_HAS_PLATFORMS) + if(${GENX_HAS_PLATFORMS}) + macro_for_each_gen() + endif() + endforeach() +endmacro() + +macro(apply_macro_for_each_platform) + GET_PLATFORMS_FOR_GEN(${given_type} ${GEN_TYPE} TESTED_GENX_PLATFORMS) + foreach(PLATFORM_IT ${TESTED_GENX_PLATFORMS}) + string(TOLOWER ${PLATFORM_IT} PLATFORM_IT_LOWER) + macro_for_each_platform() + endforeach() +endmacro() + +macro(apply_macro_for_each_test_config type) + GET_TEST_CONFIGURATIONS_FOR_PLATFORM(${type} ${GEN_TYPE} ${PLATFORM_IT} PLATFORM_CONFIGURATIONS) + foreach(PLATFORM_CONFIGURATION ${PLATFORM_CONFIGURATIONS}) + string(REPLACE "/" ";" CONFIGURATION_PARAMS ${PLATFORM_CONFIGURATION}) + list(GET CONFIGURATION_PARAMS 1 SLICES) + list(GET CONFIGURATION_PARAMS 2 SUBSLICES) + list(GET CONFIGURATION_PARAMS 3 EU_PER_SS) + macro_for_each_test_config() + endforeach() +endmacro() diff --git a/offline_compiler/CMakeLists.txt b/offline_compiler/CMakeLists.txt index 31f19b302c..71959a9a39 100644 --- a/offline_compiler/CMakeLists.txt +++ b/offline_compiler/CMakeLists.txt @@ -54,27 +54,24 @@ set(OPTIONAL_RUNTIME_GENX_FILES hw_info.cpp ) -foreach(GEN_TYPE ${ALL_GEN_TYPES}) - string(TOLOWER ${GEN_TYPE} GEN_TYPE_LOWER) - GEN_CONTAINS_PLATFORMS("SUPPORTED" ${GEN_TYPE} GENX_HAS_PLATFORMS) - if(${GENX_HAS_PLATFORMS}) - foreach(SRC_IT ${OPTIONAL_RUNTIME_GENX_FILES}) - set(SRC_FILE ${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/${SRC_IT}) - if(EXISTS ${SRC_FILE}) - list(APPEND CLOC_SRCS_LIB ${SRC_FILE}) - endif() - endforeach() +macro(macro_for_each_platform) + list(APPEND CLOC_SRCS_LIB + ${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/hw_info_${PLATFORM_IT_LOWER}.cpp + ${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/enable_${PLATFORM_IT_LOWER}.cpp + ) +endmacro() - GET_PLATFORMS_FOR_GEN("SUPPORTED" ${GEN_TYPE} SUPPORTED_GENX_PLATFORMS) - foreach(PLATFORM_IT ${SUPPORTED_GENX_PLATFORMS}) - string(TOLOWER ${PLATFORM_IT} PLATFORM_IT_LOWER) - list(APPEND CLOC_SRCS_LIB - ${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/hw_info_${PLATFORM_IT_LOWER}.cpp - ${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/enable_${PLATFORM_IT_LOWER}.cpp - ) - endforeach() - endif() -endforeach() +macro(macro_for_each_gen) + foreach(SRC_IT ${OPTIONAL_RUNTIME_GENX_FILES}) + set(SRC_FILE ${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/${SRC_IT}) + if(EXISTS ${SRC_FILE}) + list(APPEND CLOC_SRCS_LIB ${SRC_FILE}) + endif() + endforeach() + apply_macro_for_each_platform() +endmacro() + +apply_macro_for_each_gen("SUPPORTED") set(CLOC_SRCS ${CLOC_SRCS_LIB} diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt index 391ecdfc03..5d810f733a 100644 --- a/runtime/CMakeLists.txt +++ b/runtime/CMakeLists.txt @@ -130,13 +130,10 @@ endif(WIN32) if(${GENERATE_EXECUTABLE}) if(GTPIN_HEADERS_DIR) - foreach(GEN_TYPE ${ALL_GEN_TYPES}) - string(TOLOWER ${GEN_TYPE} GEN_TYPE_LOWER) - GEN_CONTAINS_PLATFORMS("SUPPORTED" ${GEN_TYPE} GENX_HAS_PLATFORMS) - if(${GENX_HAS_PLATFORMS}) - target_sources(${NEO_STATIC_LIB_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/${GEN_TYPE_LOWER}/gtpin_setup_${GEN_TYPE_LOWER}.cpp) - endif(${GENX_HAS_PLATFORMS}) - endforeach() + macro(macro_for_each_gen) + target_sources(${NEO_STATIC_LIB_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/${GEN_TYPE_LOWER}/gtpin_setup_${GEN_TYPE_LOWER}.cpp) + endmacro() + apply_macro_for_each_gen("SUPPORTED") endif() list(APPEND NEO_DYNAMIC_LIB__TARGET_OBJECTS diff --git a/runtime/built_ins/builtins_binary.cmake b/runtime/built_ins/builtins_binary.cmake index ba99af976a..0b4cc0d261 100644 --- a/runtime/built_ins/builtins_binary.cmake +++ b/runtime/built_ins/builtins_binary.cmake @@ -42,28 +42,23 @@ if(COMPILE_BUILT_INS) add_subdirectory(kernels) endif() -foreach(GEN_TYPE ${ALL_GEN_TYPES}) - string(TOLOWER ${GEN_TYPE} GEN_TYPE_LOWER) - GEN_CONTAINS_PLATFORMS("SUPPORTED" ${GEN_TYPE} GENX_HAS_PLATFORMS) - if(${GENX_HAS_PLATFORMS}) - # Get all supported platforms for this GEN - GET_PLATFORMS_FOR_GEN("SUPPORTED" ${GEN_TYPE} SUPPORTED_GENX_PLATFORMS) +macro(macro_for_each_platform) + foreach(GENERATED_BUILTIN ${GENERATED_BUILTINS}) + list(APPEND GENERATED_BUILTINS_CPPS ${BUILTINS_INCLUDE_DIR}/${RUNTIME_GENERATED_${GENERATED_BUILTIN}_${GEN_TYPE_LOWER}_${PLATFORM_IT}}) + endforeach() +endmacro() - # Add platform-specific files - foreach(PLATFORM_IT ${SUPPORTED_GENX_PLATFORMS}) - foreach(GENERATED_BUILTIN ${GENERATED_BUILTINS}) - list(APPEND GENERATED_BUILTINS_CPPS ${BUILTINS_INCLUDE_DIR}/${RUNTIME_GENERATED_${GENERATED_BUILTIN}_${GEN_TYPE_LOWER}_${PLATFORM_IT}}) - endforeach(GENERATED_BUILTIN) - endforeach(PLATFORM_IT) +macro(macro_for_each_gen) + apply_macro_for_each_platform() + source_group("generated files\\${GEN_TYPE_LOWER}" FILES ${GENERATED_BUILTINS_CPPS}) +endmacro() - source_group("generated files\\${GEN_TYPE_LOWER}" FILES ${GENERATED_BUILTINS_CPPS}) - endif(${GENX_HAS_PLATFORMS}) -endforeach(GEN_TYPE) +apply_macro_for_each_gen("SUPPORTED") if(COMPILE_BUILT_INS) target_sources(${BUILTINS_BINARIES_LIB_NAME} PUBLIC ${GENERATED_BUILTINS_CPPS}) set_source_files_properties(${GENERATED_BUILTINS_CPPS} PROPERTIES GENERATED TRUE) -endif(COMPILE_BUILT_INS) +endif() set_target_properties(${BUILTINS_BINARIES_LIB_NAME} PROPERTIES LINKER_LANGUAGE CXX) set_target_properties(${BUILTINS_BINARIES_LIB_NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON) diff --git a/runtime/built_ins/kernels/CMakeLists.txt b/runtime/built_ins/kernels/CMakeLists.txt index c9a501ef0d..89ba303e67 100644 --- a/runtime/built_ins/kernels/CMakeLists.txt +++ b/runtime/built_ins/kernels/CMakeLists.txt @@ -87,7 +87,7 @@ macro(compile_builtins GEN_TYPE PLATFORM_IT) compile_builtin(${PLATFORM_LOWER} ${GENERATED_BUILTIN}.igdrcl_built_in) list(APPEND BUILTINS_COMMANDS ${TargetDir}/${BUILTIN_CPP}) set (RUNTIME_GENERATED_${GENERATED_BUILTIN}${GEN} ${BUILTIN_CPP} PARENT_SCOPE) - endforeach(GENERATED_BUILTIN) + endforeach() set(target_name builtins_${PLATFORM_LOWER}) add_custom_target(${target_name} DEPENDS ${BUILTINS_COMMANDS}) @@ -95,14 +95,12 @@ macro(compile_builtins GEN_TYPE PLATFORM_IT) set_target_properties(${target_name} PROPERTIES FOLDER "built_ins/${PLATFORM_LOWER}") endmacro() -# Compile built-in kernels for all GENs -foreach(GEN_TYPE ${ALL_GEN_TYPES}) - string(TOLOWER ${GEN_TYPE} GEN_TYPE_LOWER) - GEN_CONTAINS_PLATFORMS("SUPPORTED" ${GEN_TYPE} GENX_HAS_PLATFORMS) - if(${GENX_HAS_PLATFORMS}) - GET_PLATFORMS_FOR_GEN("SUPPORTED" ${GEN_TYPE} SUPPORTED_GENX_PLATFORMS) - foreach(PLATFORM_IT ${SUPPORTED_GENX_PLATFORMS}) - compile_builtins(${GEN_TYPE_LOWER} ${PLATFORM_IT}) - endforeach() - endif() -endforeach() +macro(macro_for_each_platform) + compile_builtins(${GEN_TYPE_LOWER} ${PLATFORM_IT}) +endmacro() + +macro(macro_for_each_gen) + apply_macro_for_each_platform() +endmacro() + +apply_macro_for_each_gen("SUPPORTED") diff --git a/runtime/builtin_kernels_simulation/CMakeLists.txt b/runtime/builtin_kernels_simulation/CMakeLists.txt index 0cc48fda91..5ac04b9ca2 100644 --- a/runtime/builtin_kernels_simulation/CMakeLists.txt +++ b/runtime/builtin_kernels_simulation/CMakeLists.txt @@ -49,14 +49,12 @@ if(NOT MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive -fPIC") endif() -foreach(GEN_TYPE ${ALL_GEN_TYPES}) - string(TOLOWER ${GEN_TYPE} GEN_TYPE_LOWER) - GEN_CONTAINS_PLATFORMS("SUPPORTED" ${GEN_TYPE} GENX_HAS_PLATFORMS) - if(${GENX_HAS_PLATFORMS}) - list(APPEND DEFAULT_GEN_PLATFORMS_DEFITIONS DEFAULT_${GEN_TYPE}_PLATFORM=${DEFAULT_SUPPORTED_${GEN_TYPE}_PLATFORM}) - list(APPEND BUILTIN_KERNELS_SIMULATION_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/${GEN_TYPE_LOWER}/scheduler_simulation.cpp) - endif() -endforeach() +macro(macro_for_each_gen) + list(APPEND DEFAULT_GEN_PLATFORMS_DEFITIONS DEFAULT_${GEN_TYPE}_PLATFORM=${DEFAULT_SUPPORTED_${GEN_TYPE}_PLATFORM}) + list(APPEND BUILTIN_KERNELS_SIMULATION_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/${GEN_TYPE_LOWER}/scheduler_simulation.cpp) +endmacro() + +apply_macro_for_each_gen("SUPPORTED") add_library(${BIKSIM_LIB_NAME} OBJECT ${BUILTIN_KERNELS_SIMULATION_SRCS}) target_include_directories(${BIKSIM_LIB_NAME} BEFORE PRIVATE diff --git a/runtime/enable_gens.cmake b/runtime/enable_gens.cmake index 6e873f1c5b..f6ff11c3b0 100644 --- a/runtime/enable_gens.cmake +++ b/runtime/enable_gens.cmake @@ -55,56 +55,50 @@ set(RUNTIME_SRCS_GENX_BASE tbx_command_stream_receiver.cpp ) -foreach(GEN_TYPE ${ALL_GEN_TYPES}) - string(TOLOWER ${GEN_TYPE} GEN_TYPE_LOWER) - GEN_CONTAINS_PLATFORMS("SUPPORTED" ${GEN_TYPE} GENX_HAS_PLATFORMS) - if(${GENX_HAS_PLATFORMS}) - set(GENX_PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/${GEN_TYPE_LOWER}) - # Add default GEN files - foreach(OS_IT "BASE" "WINDOWS" "LINUX") - foreach(SRC_IT ${RUNTIME_SRCS_GENX_${OS_IT}}) - if(EXISTS ${GENX_PREFIX}/${SRC_IT}) - list(APPEND RUNTIME_SRCS_${GEN_TYPE}_${OS_IT} ${GENX_PREFIX}/${SRC_IT}) - endif() - endforeach() - endforeach() - - # Get all supported platforms for this GEN - GET_PLATFORMS_FOR_GEN("SUPPORTED" ${GEN_TYPE} SUPPORTED_GENX_PLATFORMS) - - # Add platform-specific files - foreach(PLATFORM_IT ${SUPPORTED_GENX_PLATFORMS}) - string(TOLOWER ${PLATFORM_IT} PLATFORM_IT_LOWER) - foreach(PLATFORM_FILE "hw_cmds_${PLATFORM_IT_LOWER}.h" "hw_info_${PLATFORM_IT_LOWER}.cpp") - if(EXISTS ${GENX_PREFIX}/${PLATFORM_FILE}) - list(APPEND RUNTIME_SRCS_${GEN_TYPE}_BASE ${GENX_PREFIX}/${PLATFORM_FILE}) - endif() - endforeach() - - # HwInfoConfig implementation - list(APPEND RUNTIME_SRCS_${GEN_TYPE}_LINUX ${GENX_PREFIX}/linux/hw_info_config_${PLATFORM_IT_LOWER}.cpp) - list(APPEND RUNTIME_SRCS_${GEN_TYPE}_WINDOWS ${GENX_PREFIX}/windows/hw_info_config_${PLATFORM_IT_LOWER}.cpp) - - # Enable platform - list(APPEND ${GEN_TYPE}_SRC_LINK_BASE ${GENX_PREFIX}/enable_${PLATFORM_IT_LOWER}.cpp) - list(APPEND ${GEN_TYPE}_SRC_LINK_BASE ${GENX_PREFIX}/enable_hw_info_config_${PLATFORM_IT_LOWER}.cpp) - endforeach() - - list(APPEND ${GEN_TYPE}_SRC_LINK_BASE ${GENX_PREFIX}/enable_family_full.cpp) - - if(GTPIN_HEADERS_DIR) - list(APPEND ${GEN_TYPE}_SRC_LINK_BASE ${GENX_PREFIX}/gtpin_setup_${GEN_TYPE_LOWER}.cpp) - endif(GTPIN_HEADERS_DIR) - - list(APPEND RUNTIME_SRCS_GENX_ALL_BASE ${RUNTIME_SRCS_${GEN_TYPE}_BASE}) - list(APPEND HW_SRC_LINK ${${GEN_TYPE}_SRC_LINK_BASE}) - list(APPEND RUNTIME_SRCS_GENX_ALL_WINDOWS ${RUNTIME_SRCS_${GEN_TYPE}_WINDOWS}) - list(APPEND RUNTIME_SRCS_GENX_ALL_LINUX ${RUNTIME_SRCS_${GEN_TYPE}_LINUX}) - if(UNIX) - list(APPEND HW_SRC_LINK ${${GEN_TYPE}_SRC_LINK_LINUX}) +macro(macro_for_each_platform) + string(TOLOWER ${PLATFORM_IT} PLATFORM_IT_LOWER) + foreach(PLATFORM_FILE "hw_cmds_${PLATFORM_IT_LOWER}.h" "hw_info_${PLATFORM_IT_LOWER}.cpp") + if(EXISTS ${GENX_PREFIX}/${PLATFORM_FILE}) + list(APPEND RUNTIME_SRCS_${GEN_TYPE}_BASE ${GENX_PREFIX}/${PLATFORM_FILE}) endif() + endforeach() + + list(APPEND RUNTIME_SRCS_${GEN_TYPE}_LINUX ${GENX_PREFIX}/linux/hw_info_config_${PLATFORM_IT_LOWER}.cpp) + list(APPEND RUNTIME_SRCS_${GEN_TYPE}_WINDOWS ${GENX_PREFIX}/windows/hw_info_config_${PLATFORM_IT_LOWER}.cpp) + + # Enable platform + list(APPEND ${GEN_TYPE}_SRC_LINK_BASE ${GENX_PREFIX}/enable_${PLATFORM_IT_LOWER}.cpp) + list(APPEND ${GEN_TYPE}_SRC_LINK_LINUX ${GENX_PREFIX}/enable_hw_info_config_${PLATFORM_IT_LOWER}.cpp) +endmacro() + +macro(macro_for_each_gen) + set(GENX_PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/${GEN_TYPE_LOWER}) + # Add default GEN files + foreach(OS_IT "BASE" "WINDOWS" "LINUX") + foreach(SRC_IT ${RUNTIME_SRCS_GENX_${OS_IT}}) + if(EXISTS ${GENX_PREFIX}/${SRC_IT}) + list(APPEND RUNTIME_SRCS_${GEN_TYPE}_${OS_IT} ${GENX_PREFIX}/${SRC_IT}) + endif() + endforeach() + endforeach() + + apply_macro_for_each_platform() + + list(APPEND ${GEN_TYPE}_SRC_LINK_BASE ${GENX_PREFIX}/enable_family_full.cpp) + + list(APPEND RUNTIME_SRCS_GENX_ALL_BASE ${RUNTIME_SRCS_${GEN_TYPE}_BASE}) + list(APPEND HW_SRC_LINK ${${GEN_TYPE}_SRC_LINK_BASE}) + list(APPEND RUNTIME_SRCS_GENX_ALL_WINDOWS ${RUNTIME_SRCS_${GEN_TYPE}_WINDOWS}) + list(APPEND RUNTIME_SRCS_GENX_ALL_LINUX ${RUNTIME_SRCS_${GEN_TYPE}_LINUX}) + if(UNIX) + list(APPEND HW_SRC_LINK ${${GEN_TYPE}_SRC_LINK_LINUX}) endif() -endforeach() + if(GTPIN_HEADERS_DIR) + list(APPEND ${GEN_TYPE}_SRC_LINK_BASE ${GENX_PREFIX}/gtpin_setup_${GEN_TYPE_LOWER}.cpp) + endif() +endmacro() + +apply_macro_for_each_gen("SUPPORTED") target_sources(${NEO_STATIC_LIB_NAME} PRIVATE ${RUNTIME_SRCS_GENX_ALL_BASE}) if(WIN32) diff --git a/runtime/scheduler/scheduler_binary.cmake b/runtime/scheduler/scheduler_binary.cmake index 7a7b1116f8..4ee0de78b8 100644 --- a/runtime/scheduler/scheduler_binary.cmake +++ b/runtime/scheduler/scheduler_binary.cmake @@ -64,25 +64,22 @@ function(compile_kernel target gen_name gen_type kernel) set_target_properties(${target} PROPERTIES FOLDER "scheduler/${gen_name}") endfunction() -foreach(GEN_TYPE ${ALL_GEN_TYPES}) - string(TOLOWER ${GEN_TYPE} GEN_TYPE_LOWER) - GEN_CONTAINS_PLATFORMS("SUPPORTED" ${GEN_TYPE} GENX_HAS_PLATFORMS) - if(${GENX_HAS_PLATFORMS}) - GET_PLATFORMS_FOR_GEN("SUPPORTED" ${GEN_TYPE} SUPPORTED_GENX_PLATFORMS) +macro(macro_for_each_platform) + PLATFORM_HAS_2_0(${GEN_TYPE} ${PLATFORM_IT} PLATFORM_SUPPORTS_2_0) + if(COMPILE_BUILT_INS AND ${PLATFORM_SUPPORTS_2_0}) + string(TOLOWER ${PLATFORM_IT} PLATFORM_IT_LOWER) + compile_kernel(scheduler_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${GEN_TYPE_LOWER} ${SCHEDULER_KERNEL}) + add_dependencies(scheduler scheduler_${PLATFORM_IT_LOWER}) + list(APPEND GENERATED_SCHEDULER_CPPS ${SCHEDULER_CPP}) + endif() +endmacro() - foreach(PLATFORM_IT ${SUPPORTED_GENX_PLATFORMS}) - PLATFORM_HAS_2_0(${GEN_TYPE} ${PLATFORM_IT} PLATFORM_SUPPORTS_2_0) - if(COMPILE_BUILT_INS AND ${PLATFORM_SUPPORTS_2_0}) - string(TOLOWER ${PLATFORM_IT} PLATFORM_IT_LOWER) - compile_kernel(scheduler_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${GEN_TYPE_LOWER} ${SCHEDULER_KERNEL}) - add_dependencies(scheduler scheduler_${PLATFORM_IT_LOWER}) - list(APPEND GENERATED_SCHEDULER_CPPS ${SCHEDULER_CPP}) - endif(COMPILE_BUILT_INS AND ${PLATFORM_SUPPORTS_2_0}) - endforeach(PLATFORM_IT) +macro(macro_for_each_gen) + apply_macro_for_each_platform() + source_group("generated files\\${GEN_TYPE_LOWER}" FILES ${GENERATED_SCHEDULER_CPPS}) +endmacro() - source_group("generated files\\${GEN_TYPE_LOWER}" FILES ${GENERATED_SCHEDULER_CPPS}) - endif(${GENX_HAS_PLATFORMS}) -endforeach(GEN_TYPE) +apply_macro_for_each_gen("SUPPORTED") add_library(${SCHEDULER_BINARY_LIB_NAME} OBJECT CMakeLists.txt) diff --git a/unit_tests/CMakeLists.txt b/unit_tests/CMakeLists.txt index dc7eb0186f..8ae799c220 100644 --- a/unit_tests/CMakeLists.txt +++ b/unit_tests/CMakeLists.txt @@ -363,67 +363,60 @@ function(gen_run_unit_tests product slices subslices eu_per_ss) add_dependencies(run_unit_tests run_${product}_unit_tests) endfunction() -foreach(GEN_TYPE ${ALL_GEN_TYPES}) - string(TOLOWER ${GEN_TYPE} GEN_TYPE_LOWER) - GEN_CONTAINS_PLATFORMS("TESTED" ${GEN_TYPE} GENX_HAS_PLATFORMS) - if(${GENX_HAS_PLATFORMS}) - GET_PLATFORMS_FOR_GEN("TESTED" ${GEN_TYPE} TESTED_GENX_PLATFORMS) - foreach(PLATFORM_IT ${TESTED_GENX_PLATFORMS}) - PLATFORM_HAS_2_0(${GEN_TYPE} ${PLATFORM_IT} PLATFORM_SUPPORTS_2_0) - PLATFORM_TESTED_WITH_APPVERIFIER(${GEN_TYPE} ${PLATFORM_IT} TESTED_WITH_APPVERIFIER) - string(TOLOWER ${PLATFORM_IT} PLATFORM_IT_LOWER) - - if(MSVC OR CMAKE_SIZEOF_VOID_P EQUAL 8) - neo_gen_kernels(test_kernels_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${TEST_KERNELS}) - neo_gen_kernel_with_options(test_kernel_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${TEST_KERNEL} ${TEST_KERNEL_options}) - - # Temporarily disabled debug kernel generation on gen8 - if(NOT ("${GEN_TYPE_LOWER}" STREQUAL "gen8")) - neo_gen_kernel_with_internal_options(test_kernel_internal_options_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${TEST_KERNEL} ${TEST_KERNEL_internal_options}) - endif() - - add_dependencies(unit_tests test_kernels_${PLATFORM_IT_LOWER}) - add_dependencies(unit_tests test_kernel_${PLATFORM_IT_LOWER}) - - # Temporarily disabled debug kernel generation on gen8 - if(NOT ("${GEN_TYPE_LOWER}" STREQUAL "gen8")) - add_dependencies(unit_tests test_kernel_internal_options_${PLATFORM_IT_LOWER}) - endif() - - set(sip_kernel_file_name) - set(sip_kernel_output_file) - set(sip_debug_kernel_output_file) - set(sip_debug_local_kernel_output_file) - list(APPEND sip_kernel_file_name "test_files/sip_dummy_kernel_${NEO_BITS}.ll") - list(APPEND sip_debug_kernel_output_file "sip_dummy_kernel_debug_${NEO_BITS}") - list(APPEND sip_debug_local_kernel_output_file "sip_dummy_kernel_debug_local_${NEO_BITS}") - - # Temporarily disabled sip kernel generation - # if("${GEN_TYPE_LOWER}" STREQUAL "gen9" ) - # neo_gen_kernel_from_ll(test_kernel_sip_debug_local_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${sip_kernel_file_name} ${sip_debug_local_kernel_output_file} ${TEST_KERNEL_SIP_DEBUG_LOCAL_options}) - # add_dependencies(unit_tests test_kernel_sip_debug_local_${PLATFORM_IT_LOWER}) - # endif() - - # neo_gen_kernel_from_ll(test_kernel_sip_debug_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${sip_kernel_file_name} ${sip_debug_kernel_output_file} ${TEST_KERNEL_SIP_DEBUG_options}) - # add_dependencies(unit_tests test_kernel_sip_debug_${PLATFORM_IT_LOWER}) - - if(${PLATFORM_SUPPORTS_2_0}) - neo_gen_kernel_with_options(test_kernel_2_0_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${TEST_KERNEL_2_0} ${TEST_KERNEL_2_0_options}) - add_dependencies(unit_tests test_kernel_2_0_${PLATFORM_IT_LOWER}) - endif() - endif() - GET_TEST_CONFIGURATIONS_FOR_PLATFORM("UNIT_TESTS" ${GEN_TYPE} ${PLATFORM_IT} PLATFORM_CONFIGURATIONS) - foreach(PLATFORM_CONFIGURATION ${PLATFORM_CONFIGURATIONS}) - string(REPLACE "/" ";" CONFIGURATION_PARAMS ${PLATFORM_CONFIGURATION}) - list(GET CONFIGURATION_PARAMS 1 SLICES) - list(GET CONFIGURATION_PARAMS 2 SUBSLICES) - list(GET CONFIGURATION_PARAMS 3 EU_PER_SS) - gen_run_unit_tests(${PLATFORM_IT_LOWER} ${SLICES} ${SUBSLICES} ${EU_PER_SS}) - if(MSVC AND ${TESTED_WITH_APPVERIFIER}) - gen_run_tests_with_appverifier(${PLATFORM_IT_LOWER} ${SLICES} ${SUBSLICES} ${EU_PER_SS}) - endif() - endforeach() - endforeach() +macro(macro_for_each_test_config) + gen_run_unit_tests(${PLATFORM_IT_LOWER} ${SLICES} ${SUBSLICES} ${EU_PER_SS}) + if(MSVC AND ${TESTED_WITH_APPVERIFIER}) + gen_run_tests_with_appverifier(${PLATFORM_IT_LOWER} ${SLICES} ${SUBSLICES} ${EU_PER_SS}) endif() -endforeach() +endmacro() + +macro(macro_for_each_platform) + PLATFORM_HAS_2_0(${GEN_TYPE} ${PLATFORM_IT} PLATFORM_SUPPORTS_2_0) + PLATFORM_TESTED_WITH_APPVERIFIER(${GEN_TYPE} ${PLATFORM_IT} TESTED_WITH_APPVERIFIER) + if(MSVC OR CMAKE_SIZEOF_VOID_P EQUAL 8) + neo_gen_kernels(test_kernels_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${TEST_KERNELS}) + neo_gen_kernel_with_options(test_kernel_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${TEST_KERNEL} ${TEST_KERNEL_options}) + + # Temporarily disabled debug kernel generation on gen8 + if(NOT ("${GEN_TYPE_LOWER}" STREQUAL "gen8")) + neo_gen_kernel_with_internal_options(test_kernel_internal_options_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${TEST_KERNEL} ${TEST_KERNEL_internal_options}) + endif() + + add_dependencies(unit_tests test_kernels_${PLATFORM_IT_LOWER}) + add_dependencies(unit_tests test_kernel_${PLATFORM_IT_LOWER}) + + # Temporarily disabled debug kernel generation on gen8 + if(NOT ("${GEN_TYPE_LOWER}" STREQUAL "gen8")) + add_dependencies(unit_tests test_kernel_internal_options_${PLATFORM_IT_LOWER}) + endif() + + set(sip_kernel_file_name) + set(sip_kernel_output_file) + set(sip_debug_kernel_output_file) + set(sip_debug_local_kernel_output_file) + list(APPEND sip_kernel_file_name "test_files/sip_dummy_kernel_${NEO_BITS}.ll") + list(APPEND sip_debug_kernel_output_file "sip_dummy_kernel_debug_${NEO_BITS}") + list(APPEND sip_debug_local_kernel_output_file "sip_dummy_kernel_debug_local_${NEO_BITS}") + + # Temporarily disabled sip kernel generation + # if("${GEN_TYPE_LOWER}" STREQUAL "gen9" ) + # neo_gen_kernel_from_ll(test_kernel_sip_debug_local_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${sip_kernel_file_name} ${sip_debug_local_kernel_output_file} ${TEST_KERNEL_SIP_DEBUG_LOCAL_options}) + # add_dependencies(unit_tests test_kernel_sip_debug_local_${PLATFORM_IT_LOWER}) + # endif() + + # neo_gen_kernel_from_ll(test_kernel_sip_debug_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${sip_kernel_file_name} ${sip_debug_kernel_output_file} ${TEST_KERNEL_SIP_DEBUG_options}) + # add_dependencies(unit_tests test_kernel_sip_debug_${PLATFORM_IT_LOWER}) + + if(${PLATFORM_SUPPORTS_2_0}) + neo_gen_kernel_with_options(test_kernel_2_0_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${TEST_KERNEL_2_0} ${TEST_KERNEL_2_0_options}) + add_dependencies(unit_tests test_kernel_2_0_${PLATFORM_IT_LOWER}) + endif() + endif() + apply_macro_for_each_test_config("UNIT_TESTS") +endmacro() + +macro(macro_for_each_gen) + apply_macro_for_each_platform() +endmacro() +apply_macro_for_each_gen("TESTED") create_project_source_tree(igdrcl_tests ${IGDRCL_SOURCE_DIR}/runtime) diff --git a/unit_tests/aub_tests/CMakeLists.txt b/unit_tests/aub_tests/CMakeLists.txt index b02ef8c896..e5d733a2b3 100644 --- a/unit_tests/aub_tests/CMakeLists.txt +++ b/unit_tests/aub_tests/CMakeLists.txt @@ -66,38 +66,34 @@ target_link_libraries(igdrcl_aub_tests gtest gmock ${IGDRCL_EXTRA_LIBS}) target_include_directories(igdrcl_aub_tests BEFORE PRIVATE ${IGDRCL_SOURCE_DIR}/unit_tests/gen_common) -foreach(GEN_TYPE ${ALL_GEN_TYPES}) - GEN_CONTAINS_PLATFORMS("TESTED" ${GEN_TYPE} GENX_HAS_PLATFORMS) - if(${GENX_HAS_PLATFORMS}) - GET_PLATFORMS_FOR_GEN("TESTED" ${GEN_TYPE} TESTED_GENX_PLATFORMS) - foreach(PLATFORM_IT ${TESTED_GENX_PLATFORMS}) - string(TOLOWER ${PLATFORM_IT} PLATFORM_IT_LOWER) - add_custom_target(${PLATFORM_IT_LOWER}_aub_tests - DEPENDS igdrcl_aub_tests - DEPENDS copy_test_files_${PLATFORM_IT_LOWER} - ) - add_dependencies(${PLATFORM_IT_LOWER}_aub_tests test_kernels_${PLATFORM_IT_LOWER}) - add_dependencies(${PLATFORM_IT_LOWER}_aub_tests test_kernel_${PLATFORM_IT_LOWER}) - PLATFORM_HAS_2_0(${GEN_TYPE} ${PLATFORM_IT} PLATFORM_SUPPORTS_2_0) - if(${PLATFORM_SUPPORTS_2_0}) - add_dependencies(${PLATFORM_IT_LOWER}_aub_tests test_kernel_2_0_${PLATFORM_IT_LOWER}) - endif(${PLATFORM_SUPPORTS_2_0}) - 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}") - if(WIN32) - add_dependencies(${PLATFORM_IT_LOWER}_aub_tests mock_gdi) - endif() - GET_TEST_CONFIGURATIONS_FOR_PLATFORM("AUB_TESTS" ${GEN_TYPE} ${PLATFORM_IT} PLATFORM_CONFIGURATIONS) - foreach(PLATFORM_CONFIGURATION ${PLATFORM_CONFIGURATIONS}) - string(REPLACE "/" ";" CONFIGURATION_PARAMS ${PLATFORM_CONFIGURATION}) - list(GET CONFIGURATION_PARAMS 1 SLICES) - list(GET CONFIGURATION_PARAMS 2 SUBSLICES) - list(GET CONFIGURATION_PARAMS 3 EU_PER_SS) - neo_run_aub_target(${PLATFORM_IT_LOWER} "${PLATFORM_IT} ${SLICES}x${SUBSLICES}x${EU_PER_SS}" ${PLATFORM_IT_LOWER} ${SLICES} ${SUBSLICES} ${EU_PER_SS}) - endforeach() - endforeach() +macro(macro_for_each_test_config) + neo_run_aub_target(${PLATFORM_IT_LOWER} "${PLATFORM_IT} ${SLICES}x${SUBSLICES}x${EU_PER_SS}" ${PLATFORM_IT_LOWER} ${SLICES} ${SUBSLICES} ${EU_PER_SS}) +endmacro() + +macro(macro_for_each_platform) + add_custom_target(${PLATFORM_IT_LOWER}_aub_tests + DEPENDS igdrcl_aub_tests + DEPENDS copy_test_files_${PLATFORM_IT_LOWER} + ) + add_dependencies(${PLATFORM_IT_LOWER}_aub_tests test_kernels_${PLATFORM_IT_LOWER}) + add_dependencies(${PLATFORM_IT_LOWER}_aub_tests test_kernel_${PLATFORM_IT_LOWER}) + PLATFORM_HAS_2_0(${GEN_TYPE} ${PLATFORM_IT} PLATFORM_SUPPORTS_2_0) + if(${PLATFORM_SUPPORTS_2_0}) + add_dependencies(${PLATFORM_IT_LOWER}_aub_tests test_kernel_2_0_${PLATFORM_IT_LOWER}) + endif(${PLATFORM_SUPPORTS_2_0}) + 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}") + if(WIN32) + add_dependencies(${PLATFORM_IT_LOWER}_aub_tests mock_gdi) endif() -endforeach() + 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 ${IGDRCL_SOURCE_DIR}/runtime ${IGDRCL_SOURCE_DIR}/unit_tests) diff --git a/unit_tests/gtpin/CMakeLists.txt b/unit_tests/gtpin/CMakeLists.txt index d225a8a37f..5ca4e0b66b 100644 --- a/unit_tests/gtpin/CMakeLists.txt +++ b/unit_tests/gtpin/CMakeLists.txt @@ -22,13 +22,10 @@ set(IGDRCL_SRCS_tests_gtpin ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt ${CMAKE_CURRENT_SOURCE_DIR}/gtpin_tests.cpp ) -foreach(GEN_TYPE ${ALL_GEN_TYPES}) - string(TOLOWER ${GEN_TYPE} GEN_TYPE_LOWER) - GEN_CONTAINS_PLATFORMS("TESTED" ${GEN_TYPE} GENX_HAS_PLATFORMS) - if(${GENX_HAS_PLATFORMS}) - list(APPEND IGDRCL_SRCS_tests_gtpin ${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/gtpin_setup_${GEN_TYPE_LOWER}.cpp) - endif() -endforeach() +macro(macro_for_each_gen) + list(APPEND IGDRCL_SRCS_tests_gtpin ${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/gtpin_setup_${GEN_TYPE_LOWER}.cpp) +endmacro() +apply_macro_for_each_gen("TESTED") if(GTPIN_HEADERS_DIR) target_sources(igdrcl_tests PRIVATE ${IGDRCL_SRCS_tests_gtpin}) endif() diff --git a/unit_tests/libult/CMakeLists.txt b/unit_tests/libult/CMakeLists.txt index 11a4a449fe..35a1558168 100644 --- a/unit_tests/libult/CMakeLists.txt +++ b/unit_tests/libult/CMakeLists.txt @@ -18,26 +18,23 @@ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. -foreach(GEN_TYPE ${ALL_GEN_TYPES}) - string(TOLOWER ${GEN_TYPE} GEN_TYPE_LOWER) - GEN_CONTAINS_PLATFORMS("TESTED" ${GEN_TYPE} GENX_HAS_PLATFORMS) - if(${GENX_HAS_PLATFORMS}) - list(APPEND IGDRCL_SRCS_ENABLE_TESTED_HW - ${IGDRCL_SOURCE_DIR}/unit_tests/${GEN_TYPE_LOWER}/cmd_parse_${GEN_TYPE_LOWER}.cpp - ${IGDRCL_SOURCE_DIR}/unit_tests/${GEN_TYPE_LOWER}/gen_cmd_parse.h - ${IGDRCL_SOURCE_DIR}/unit_tests/libult/${GEN_TYPE_LOWER}.cpp - ${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/enable_family_full.cpp - ) - GET_PLATFORMS_FOR_GEN("TESTED" ${GEN_TYPE} TESTED_GENX_PLATFORMS) - foreach(PLATFORM_IT ${TESTED_GENX_PLATFORMS}) - string(TOLOWER ${PLATFORM_IT} PLATFORM_IT_LOWER) - list (APPEND IGDRCL_SRCS_ENABLE_TESTED_HW - ${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/enable_${PLATFORM_IT_LOWER}.cpp - ${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/enable_hw_info_config_${PLATFORM_IT_LOWER}.cpp - ) - endforeach() - endif() -endforeach() +macro(macro_for_each_platform) + list (APPEND IGDRCL_SRCS_ENABLE_TESTED_HW + ${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/enable_${PLATFORM_IT_LOWER}.cpp + ${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/enable_hw_info_config_${PLATFORM_IT_LOWER}.cpp + ) +endmacro() +macro(macro_for_each_gen) + list(APPEND IGDRCL_SRCS_ENABLE_TESTED_HW + ${IGDRCL_SOURCE_DIR}/unit_tests/${GEN_TYPE_LOWER}/cmd_parse_${GEN_TYPE_LOWER}.cpp + ${IGDRCL_SOURCE_DIR}/unit_tests/${GEN_TYPE_LOWER}/gen_cmd_parse.h + ${IGDRCL_SOURCE_DIR}/unit_tests/libult/${GEN_TYPE_LOWER}.cpp + ${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/enable_family_full.cpp + ) + apply_macro_for_each_platform() +endmacro() + +apply_macro_for_each_gen("TESTED") set(IGDRCL_SRCS_LIB_ULT ${IGDRCL_SOURCE_DIR}/unit_tests/abort.cpp diff --git a/unit_tests/linux/CMakeLists.txt b/unit_tests/linux/CMakeLists.txt index a5106b57b7..2361387050 100644 --- a/unit_tests/linux/CMakeLists.txt +++ b/unit_tests/linux/CMakeLists.txt @@ -31,18 +31,13 @@ set(IGDRCL_SRCS_linux_dll_tests ${IGDRCL_SOURCE_DIR}/runtime/os_interface/debug_settings_manager.cpp ${IGDRCL_SOURCE_DIR}/runtime/dll/linux/drm_neo_create.cpp ) - -foreach(GEN_TYPE ${ALL_GEN_TYPES}) - string(TOLOWER ${GEN_TYPE} GEN_TYPE_LOWER) - GEN_CONTAINS_PLATFORMS("TESTED" ${GEN_TYPE} GENX_HAS_PLATFORMS) - if(${GENX_HAS_PLATFORMS}) - GET_PLATFORMS_FOR_GEN("TESTED" ${GEN_TYPE} TESTED_GENX_PLATFORMS) - foreach(PLATFORM_IT ${TESTED_GENX_PLATFORMS}) - string(TOLOWER ${PLATFORM_IT} PLATFORM_IT_LOWER) - list(APPEND IGDRCL_SRCS_linux_dll_tests ${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/hw_info_${PLATFORM_IT_LOWER}.cpp) - endforeach() - endif() -endforeach() +macro(macro_for_each_platform) + list(APPEND IGDRCL_SRCS_linux_dll_tests ${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/hw_info_${PLATFORM_IT_LOWER}.cpp) +endmacro() +macro(macro_for_each_gen) + apply_macro_for_each_platform() +endmacro() +apply_macro_for_each_gen("TESTED") foreach(target_name linux_tests linux_dll_tests) add_executable(igdrcl_${target_name} diff --git a/unit_tests/mt_tests/CMakeLists.txt b/unit_tests/mt_tests/CMakeLists.txt index 54374a8812..9e93e43dda 100644 --- a/unit_tests/mt_tests/CMakeLists.txt +++ b/unit_tests/mt_tests/CMakeLists.txt @@ -115,23 +115,19 @@ endfunction() target_include_directories(igdrcl_mt_tests BEFORE PRIVATE ${IGDRCL_SOURCE_DIR}/unit_tests/gen_common ${IGDRCL_SOURCE_DIR}/runtime/gen_common) -foreach(GEN_TYPE ${ALL_GEN_TYPES}) - GEN_CONTAINS_PLATFORMS("TESTED" ${GEN_TYPE} GENX_HAS_PLATFORMS) - if(${GENX_HAS_PLATFORMS}) - GET_PLATFORMS_FOR_GEN("TESTED" ${GEN_TYPE} TESTED_GENX_PLATFORMS) - foreach(PLATFORM_IT ${TESTED_GENX_PLATFORMS}) - string(TOLOWER ${PLATFORM_IT} PLATFORM_IT_LOWER) - if(MSVC OR CMAKE_SIZEOF_VOID_P EQUAL 8) - add_dependencies(igdrcl_mt_tests test_kernels_${PLATFORM_IT_LOWER}) - endif(MSVC OR CMAKE_SIZEOF_VOID_P EQUAL 8) - GET_TEST_CONFIGURATIONS_FOR_PLATFORM("MT_TESTS" ${GEN_TYPE} ${PLATFORM_IT} PLATFORM_CONFIGURATIONS) - foreach(PLATFORM_CONFIGURATION ${PLATFORM_CONFIGURATIONS}) - string(REPLACE "/" ";" CONFIGURATION_PARAMS ${PLATFORM_CONFIGURATION}) - list(GET CONFIGURATION_PARAMS 1 SLICES) - list(GET CONFIGURATION_PARAMS 2 SUBSLICES) - list(GET CONFIGURATION_PARAMS 3 EU_PER_SS) - run_mt_tests(${PLATFORM_IT_LOWER} ${SLICES} ${SUBSLICES} ${EU_PER_SS}) - endforeach(PLATFORM_CONFIGURATION) - endforeach(PLATFORM_IT) - endif(${GENX_HAS_PLATFORMS}) -endforeach(GEN_TYPE) +macro(macro_for_each_test_config) + run_mt_tests(${PLATFORM_IT_LOWER} ${SLICES} ${SUBSLICES} ${EU_PER_SS}) +endmacro() + +macro(macro_for_each_platform) + if(MSVC OR CMAKE_SIZEOF_VOID_P EQUAL 8) + add_dependencies(igdrcl_mt_tests test_kernels_${PLATFORM_IT_LOWER}) + endif() + apply_macro_for_each_test_config("MT_TESTS") +endmacro() + +macro(macro_for_each_gen) + apply_macro_for_each_platform() +endmacro() + +apply_macro_for_each_gen("TESTED")