mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-20 13:11:34 +08:00
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
This commit is contained in:

committed by
sys_ocldev

parent
cbf2118275
commit
e3b1ba2112
@ -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)
|
||||
|
Reference in New Issue
Block a user