diff --git a/level_zero/CMakeLists.txt b/level_zero/CMakeLists.txt index 642bed03eb..5fc8c00bf4 100644 --- a/level_zero/CMakeLists.txt +++ b/level_zero/CMakeLists.txt @@ -274,9 +274,6 @@ target_compile_definitions(${TARGET_NAME_L0} ${COMPUTE_RUNTIME_DEFINITIONS} ) -append_sources_from_properties(L0_SRCS_DLL NEO_CORE_SRCS_LINK) -target_sources(${TARGET_NAME_L0} PRIVATE ${L0_SRCS_DLL}) - if(UNIX) target_sources(${TARGET_NAME_L0} PRIVATE @@ -315,22 +312,110 @@ else() ) endif() +add_subdirectory_unique(api) +add_subdirectory_unique(source) +add_subdirectory_unique(experimental${BRANCH_DIR_SUFFIX}/source) +add_subdirectory_unique(tools/source) + +if(DONT_CARE_OF_VIRTUALS) + set(L0_RELEASE_LIB_NAME "${TARGET_NAME_L0}_lib") + set(L0_MOCKABLE_LIB_NAME "${TARGET_NAME_L0}_lib") +else() + set(L0_RELEASE_LIB_NAME "${TARGET_NAME_L0}_lib") + if(NOT SKIP_UNIT_TESTS) + set(L0_MOCKABLE_LIB_NAME "${TARGET_NAME_L0}_mockable") + endif() +endif() + +function(generate_l0_lib LIB_NAME MOCKABLE) + set(L0_STATIC_LIB_NAME ${LIB_NAME}) + add_library(${LIB_NAME} OBJECT + ${L0_RUNTIME_SOURCES} + ) + + add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/core/source "${NEO_BUILD_DIR}/${LIB_NAME}") + + append_sources_from_properties(L0_RUNTIME_SOURCES + L0_API + L0_SOURCES_LINUX + L0_SOURCES_WINDOWS + L0_SRCS_COMPILER_INTERFACE + L0_SRCS_DEBUGGER + L0_SRCS_OCLOC_SHARED + ) + + target_sources(${LIB_NAME} PRIVATE ${L0_RUNTIME_SOURCES}) + + if(${MOCKABLE}) + get_property(COMPUTE_RUNTIME_DEFINITIONS + TARGET ${NEO_MOCKABLE_LIB_NAME} + PROPERTY COMPILE_DEFINITIONS + ) + target_compile_definitions(${LIB_NAME} + PUBLIC MOCKABLE_VIRTUAL=virtual + PRIVATE + ${COMPUTE_RUNTIME_DEFINITIONS} + ) + else() + get_property(COMPUTE_RUNTIME_DEFINITIONS + TARGET ${NEO_RELEASE_LIB_NAME} + PROPERTY COMPILE_DEFINITIONS + ) + target_compile_definitions(${LIB_NAME} + PUBLIC MOCKABLE_VIRTUAL= + PRIVATE + ${COMPUTE_RUNTIME_DEFINITIONS} + ) + endif() + + set_property(TARGET ${LIB_NAME} APPEND_STRING PROPERTY COMPILE_FLAGS ${ASAN_FLAGS} ${TSAN_FLAGS}) + set_target_properties(${LIB_NAME} PROPERTIES FOLDER ${TARGET_NAME_L0}) + + target_include_directories(${LIB_NAME} PUBLIC + ${ENGINE_NODE_DIR} + ${NEO__GMM_INCLUDE_DIR} + ${CIF_BASE_DIR} + ${IGC_OCL_ADAPTOR_DIR} + ${NEO__IGC_INCLUDE_DIR} + ${KHRONOS_HEADERS_DIR} + ) + + if(WIN32) + target_include_directories(${LIB_NAME} PUBLIC + ${WDK_INCLUDE_PATHS} + ${CMAKE_CURRENT_SOURCE_DIR}/os_interface/windows + ) + else() + target_include_directories(${LIB_NAME} PUBLIC + ${I915_INCLUDES_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/os_interface/linux + ) + endif() + + create_project_source_tree(${LIB_NAME}) +endfunction() + +if(DONT_CARE_OF_VIRTUALS) + generate_l0_lib(${L0_RELEASE_LIB_NAME} TRUE) +else() + generate_l0_lib(${L0_RELEASE_LIB_NAME} FALSE) + if(NOT SKIP_UNIT_TESTS) + generate_l0_lib(${L0_MOCKABLE_LIB_NAME} TRUE) + endif() +endif() + +append_sources_from_properties(L0_SRCS_DLL NEO_CORE_SRCS_LINK L0_SRCS_DLL) +target_sources(${TARGET_NAME_L0} PRIVATE $ ${L0_SRCS_DLL}) + target_link_libraries(${TARGET_NAME_L0} ${NEO_STATICALLY_LINKED_LIBRARIES} ${OS_SPECIFIC_LIBS} ) + if(UNIX) target_link_libraries(${TARGET_NAME_L0} ${GMM_LINK_NAME}) endif() - add_subdirectory_unique(api) - add_subdirectory_unique(source) - add_subdirectory_unique(core/source) - add_subdirectory_unique(experimental${BRANCH_DIR_SUFFIX}/source) - add_subdirectory_unique(tools/source) - - create_source_tree(${TARGET_NAME_L0} ${L0_ROOT_DIR}/..) - if(HAVE_INSTRUMENTATION) target_link_libraries(${TARGET_NAME_L0} ${INSTRUMENTATION_LIB_NAME}) @@ -339,8 +424,9 @@ if(HAVE_INSTRUMENTATION) ) endif() +create_source_tree(${TARGET_NAME_L0} ${L0_ROOT_DIR}/..) + set_property(TARGET ${TARGET_NAME_L0} APPEND_STRING PROPERTY COMPILE_FLAGS ${ASAN_FLAGS}) -set_target_properties(${TARGET_NAME_L0} PROPERTIES FOLDER ${TARGET_NAME_L0}) set_target_properties(${TARGET_NAME_L0} PROPERTIES FOLDER ${TARGET_NAME_L0} diff --git a/level_zero/core/source/CMakeLists.txt b/level_zero/core/source/CMakeLists.txt index 54dcd48e4e..12a91b842c 100644 --- a/level_zero/core/source/CMakeLists.txt +++ b/level_zero/core/source/CMakeLists.txt @@ -71,6 +71,11 @@ set(L0_RUNTIME_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/cmdqueue_extended${BRANCH_DIR_SUFFIX}/cmdqueue_extended.inl ) +target_include_directories(${L0_STATIC_LIB_NAME} + PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR}/ +) + target_include_directories(${TARGET_NAME_L0} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/ @@ -79,19 +84,15 @@ target_include_directories(${TARGET_NAME_L0} add_subdirectories() include_directories(${CMAKE_CURRENT_SOURCE_DIR}) -append_sources_from_properties(L0_RUNTIME_SOURCES - L0_API - L0_SRCS_DLL - L0_SOURCES_LINUX - L0_SOURCES_WINDOWS - L0_SRCS_COMPILER_INTERFACE - L0_SRCS_DEBUGGER - L0_SRCS_OCLOC_SHARED - ) +target_sources(${L0_STATIC_LIB_NAME} + PRIVATE + ${L0_RUNTIME_SOURCES} + ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt +) target_sources(${TARGET_NAME_L0} PRIVATE - ${L0_RUNTIME_SOURCES} + ${L0_SRCS_DLL} ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt ) diff --git a/level_zero/core/source/gen11/CMakeLists.txt b/level_zero/core/source/gen11/CMakeLists.txt index df721f179f..3d5a7113ed 100644 --- a/level_zero/core/source/gen11/CMakeLists.txt +++ b/level_zero/core/source/gen11/CMakeLists.txt @@ -12,6 +12,6 @@ if(SUPPORT_GEN11) ) add_subdirectories() - target_sources(${TARGET_NAME_L0} PRIVATE ${HW_SOURCES_GEN11}) + target_sources(${L0_STATIC_LIB_NAME} PRIVATE ${HW_SOURCES_GEN11}) set_property(GLOBAL PROPERTY L0_HW_SOURCES_GEN11 ${HW_SOURCES_GEN11}) endif() diff --git a/level_zero/core/source/gen12lp/CMakeLists.txt b/level_zero/core/source/gen12lp/CMakeLists.txt index e21ba137fa..0e9a3ff79c 100644 --- a/level_zero/core/source/gen12lp/CMakeLists.txt +++ b/level_zero/core/source/gen12lp/CMakeLists.txt @@ -12,8 +12,8 @@ if(SUPPORT_GEN12LP) ${CMAKE_CURRENT_SOURCE_DIR}/enable_family_full_l0_gen12lp.cpp ) add_subdirectories() - target_include_directories(${TARGET_NAME_L0} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/definitions${BRANCH_DIR_SUFFIX}/) + target_include_directories(${L0_STATIC_LIB_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/definitions${BRANCH_DIR_SUFFIX}/) - target_sources(${TARGET_NAME_L0} PRIVATE ${HW_SOURCES_GEN12LP}) + target_sources(${L0_STATIC_LIB_NAME} PRIVATE ${HW_SOURCES_GEN12LP}) set_property(GLOBAL APPEND PROPERTY L0_HW_SOURCES_GEN12LP ${HW_SOURCES_GEN12LP}) endif() diff --git a/level_zero/core/source/gen8/CMakeLists.txt b/level_zero/core/source/gen8/CMakeLists.txt index e906865fa8..5b59c121f1 100644 --- a/level_zero/core/source/gen8/CMakeLists.txt +++ b/level_zero/core/source/gen8/CMakeLists.txt @@ -10,6 +10,6 @@ if(SUPPORT_GEN8) ${CMAKE_CURRENT_SOURCE_DIR}/enable_family_full_l0_gen8.cpp ) - target_sources(${TARGET_NAME_L0} PRIVATE ${HW_SOURCES_GEN8}) + target_sources(${L0_STATIC_LIB_NAME} PRIVATE ${HW_SOURCES_GEN8}) set_property(GLOBAL PROPERTY L0_HW_SOURCES_GEN8 ${HW_SOURCES_GEN8}) endif() diff --git a/level_zero/core/source/gen9/CMakeLists.txt b/level_zero/core/source/gen9/CMakeLists.txt index ab1b9ef036..405e48e477 100644 --- a/level_zero/core/source/gen9/CMakeLists.txt +++ b/level_zero/core/source/gen9/CMakeLists.txt @@ -13,6 +13,6 @@ if(SUPPORT_GEN9) add_subdirectories() - target_sources(${TARGET_NAME_L0} PRIVATE ${HW_SOURCES_GEN9}) + target_sources(${L0_STATIC_LIB_NAME} PRIVATE ${HW_SOURCES_GEN9}) set_property(GLOBAL PROPERTY L0_HW_SOURCES_GEN9 ${HW_SOURCES_GEN9}) endif() diff --git a/opencl/test/unit_test/mocks/CMakeLists.txt b/opencl/test/unit_test/mocks/CMakeLists.txt index f749bd8479..fa6a1577f9 100644 --- a/opencl/test/unit_test/mocks/CMakeLists.txt +++ b/opencl/test/unit_test/mocks/CMakeLists.txt @@ -19,8 +19,6 @@ else() ${CMAKE_CURRENT_SOURCE_DIR}${BRANCH_DIR_SUFFIX}/mock_compilers_linux.cpp ) endif() -message(STATUS "IGDRCL_SRCS_tests_compiler_mocks ${IGDRCL_SRCS_tests_compiler_mocks}") - set_property(GLOBAL PROPERTY IGDRCL_SRCS_tests_compiler_mocks ${IGDRCL_SRCS_tests_compiler_mocks}) set(IGDRCL_SRCS_tests_mocks diff --git a/shared/source/helpers/hw_helper.h b/shared/source/helpers/hw_helper.h index ec4f736219..db53d22b7d 100644 --- a/shared/source/helpers/hw_helper.h +++ b/shared/source/helpers/hw_helper.h @@ -11,6 +11,7 @@ #include "shared/source/helpers/aux_translation.h" #include "shared/source/helpers/hw_cmds.h" +#include "opencl/source/aub_mem_dump/aub_mem_dump.h" #include "opencl/source/gen_common/aub_mapper.h" #include "opencl/source/mem_obj/buffer.h"