From bccfa1df38afd128bb8216a36898c8bfb1e10bd9 Mon Sep 17 00:00:00 2001 From: Mateusz Jablonski Date: Tue, 19 Nov 2019 15:28:33 +0100 Subject: [PATCH] Add cmake macro to append sources from properties Change-Id: I06771c56ebca2e7a0dc5b65d6ea53aca95a70797 Signed-off-by: Mateusz Jablonski --- common_macros.cmake | 8 ++++ core/page_fault_manager/linux/CMakeLists.txt | 4 +- runtime/CMakeLists.txt | 2 +- runtime/command_stream/CMakeLists.txt | 3 -- runtime/core_files.cmake | 42 ++++++++++++++++---- runtime/execution_environment/CMakeLists.txt | 3 -- runtime/helpers/CMakeLists.txt | 3 -- runtime/memory_manager/CMakeLists.txt | 22 ---------- runtime/os_interface/CMakeLists.txt | 3 -- runtime/os_interface/linux/CMakeLists.txt | 4 -- runtime/os_interface/windows/CMakeLists.txt | 3 -- runtime/utilities/CMakeLists.txt | 6 --- 12 files changed, 45 insertions(+), 58 deletions(-) diff --git a/common_macros.cmake b/common_macros.cmake index 5a1b01862a..f75ec3daa8 100644 --- a/common_macros.cmake +++ b/common_macros.cmake @@ -94,3 +94,11 @@ macro(get_family_name_with_type gen_type platform_type) string(TOLOWER ${platform_type} platform_type_lower) set(family_name_with_type ${gen_type_capitalized}${platform_type_lower}) endmacro() + + +macro(append_sources_from_properties list_name) + foreach(name ${ARGN}) + get_property(${name} GLOBAL PROPERTY ${name}) + list(APPEND ${list_name} ${${name}}) + endforeach() +endmacro() diff --git a/core/page_fault_manager/linux/CMakeLists.txt b/core/page_fault_manager/linux/CMakeLists.txt index 4e2882dee7..2953cb0bc9 100644 --- a/core/page_fault_manager/linux/CMakeLists.txt +++ b/core/page_fault_manager/linux/CMakeLists.txt @@ -10,6 +10,4 @@ set(NEO_CORE_PAGE_FAULT_MANAGER_LINUX ${CMAKE_CURRENT_SOURCE_DIR}/cpu_page_fault_manager_linux.h ) -if(UNIX) - set_property(GLOBAL PROPERTY NEO_CORE_PAGE_FAULT_MANAGER_LINUX ${NEO_CORE_PAGE_FAULT_MANAGER_LINUX}) -endif() \ No newline at end of file +set_property(GLOBAL PROPERTY NEO_CORE_PAGE_FAULT_MANAGER_LINUX ${NEO_CORE_PAGE_FAULT_MANAGER_LINUX}) diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt index 038e0340ca..5f13bf3f82 100644 --- a/runtime/CMakeLists.txt +++ b/runtime/CMakeLists.txt @@ -32,7 +32,7 @@ add_library(${NEO_STATIC_LIB_NAME} STATIC EXCLUDE_FROM_ALL add_subdirectories() add_subdirectory(instrumentation${IGDRCL__INSTRUMENTATION_DIR_SUFFIX}) include(enable_gens.cmake) -include(core_files.cmake) +include(${CMAKE_CURRENT_SOURCE_DIR}${BRANCH_DIR_SUFFIX}/core_files.cmake) # Enable SSE4/AVX2 options for files that need them if(MSVC) diff --git a/runtime/command_stream/CMakeLists.txt b/runtime/command_stream/CMakeLists.txt index bc6c01e63e..7fc301e1df 100644 --- a/runtime/command_stream/CMakeLists.txt +++ b/runtime/command_stream/CMakeLists.txt @@ -49,9 +49,6 @@ set(RUNTIME_SRCS_COMMAND_STREAM ${CMAKE_CURRENT_SOURCE_DIR}/definitions${BRANCH_DIR_SUFFIX}/command_stream_receiver_hw_ext.inl ) -get_property(NEO_CORE_COMMAND_STREAM GLOBAL PROPERTY NEO_CORE_COMMAND_STREAM) -list(APPEND RUNTIME_SRCS_COMMAND_STREAM ${NEO_CORE_COMMAND_STREAM}) - target_sources(${NEO_STATIC_LIB_NAME} PRIVATE ${RUNTIME_SRCS_COMMAND_STREAM}) set_property(GLOBAL PROPERTY RUNTIME_SRCS_COMMAND_STREAM ${RUNTIME_SRCS_COMMAND_STREAM}) add_subdirectories() diff --git a/runtime/core_files.cmake b/runtime/core_files.cmake index deed6ca456..9660c7481f 100644 --- a/runtime/core_files.cmake +++ b/runtime/core_files.cmake @@ -4,13 +4,41 @@ # SPDX-License-Identifier: MIT # -get_property(NEO_CORE_GMM_HELPER GLOBAL PROPERTY NEO_CORE_GMM_HELPER) -target_sources(${NEO_STATIC_LIB_NAME} PRIVATE ${NEO_CORE_GMM_HELPER}) +target_sources(${NEO_STATIC_LIB_NAME} PRIVATE ${NEO_SOURCE_DIR}/runtime/core_files.cmake) -get_property(NEO_CORE_SKU_INFO_BASE GLOBAL PROPERTY NEO_CORE_SKU_INFO_BASE) -target_sources(${NEO_STATIC_LIB_NAME} PRIVATE ${NEO_CORE_SKU_INFO_BASE}) +append_sources_from_properties(NEO_CORE_SOURCES + NEO_CORE_COMMAND_STREAM + NEO_CORE_EXECUTION_ENVIRONMENT + NEO_CORE_GMM_HELPER + NEO_CORE_HELPERS + NEO_CORE_MEMORY_MANAGER + NEO_CORE_OS_INTERFACE + NEO_CORE_PAGE_FAULT_MANAGER + NEO_CORE_SKU_INFO_BASE + NEO_CORE_UTILITIES + NEO_UNIFIED_MEMORY +) +append_sources_from_properties(NEO_CORE_SOURCES_WINDOWS + NEO_CORE_OS_INTERFACE_WINDOWS + NEO_CORE_PAGE_FAULT_MANAGER_WINDOWS + NEO_CORE_SKU_INFO_WINDOWS + NEO_CORE_UTILITIES_WINDOWS +) + +append_sources_from_properties(NEO_CORE_SOURCES_LINUX + NEO_CORE_OS_INTERFACE_LINUX + NEO_CORE_PAGE_FAULT_MANAGER_LINUX + NEO_CORE_UTILITIES_LINUX +) + +set_property(GLOBAL PROPERTY NEO_CORE_SOURCES ${NEO_CORE_SOURCES}) +set_property(GLOBAL PROPERTY NEO_CORE_SOURCES_WINDOWS ${NEO_CORE_SOURCES_WINDOWS}) +set_property(GLOBAL PROPERTY NEO_CORE_SOURCES_LINUX ${NEO_CORE_SOURCES_LINUX}) + +target_sources(${NEO_STATIC_LIB_NAME} PRIVATE ${NEO_CORE_SOURCES}) if(WIN32) - get_property(NEO_CORE_SKU_INFO_WINDOWS GLOBAL PROPERTY NEO_CORE_SKU_INFO_WINDOWS) - target_sources(${NEO_STATIC_LIB_NAME} PRIVATE ${NEO_CORE_SKU_INFO_WINDOWS}) -endif() \ No newline at end of file + target_sources(${NEO_STATIC_LIB_NAME} PRIVATE ${NEO_CORE_SOURCES_WINDOWS}) +else() + target_sources(${NEO_STATIC_LIB_NAME} PRIVATE ${NEO_CORE_SOURCES_LINUX}) +endif() diff --git a/runtime/execution_environment/CMakeLists.txt b/runtime/execution_environment/CMakeLists.txt index 52c1c499c1..657e377c51 100644 --- a/runtime/execution_environment/CMakeLists.txt +++ b/runtime/execution_environment/CMakeLists.txt @@ -10,8 +10,5 @@ set(RUNTIME_SRCS_EXECUTION_ENVIRONMENT ${CMAKE_CURRENT_SOURCE_DIR}/execution_environment.cpp ) -get_property(NEO_CORE_EXECUTION_ENVIRONMENT GLOBAL PROPERTY NEO_CORE_EXECUTION_ENVIRONMENT) -list(APPEND RUNTIME_SRCS_EXECUTION_ENVIRONMENT ${NEO_CORE_EXECUTION_ENVIRONMENT}) - target_sources(${NEO_STATIC_LIB_NAME} PRIVATE ${RUNTIME_SRCS_EXECUTION_ENVIRONMENT}) set_property(GLOBAL PROPERTY RUNTIME_SRCS_EXECUTION_ENVIRONMENT ${RUNTIME_SRCS_EXECUTION_ENVIRONMENT}) diff --git a/runtime/helpers/CMakeLists.txt b/runtime/helpers/CMakeLists.txt index 6156b4850d..40a9fb8131 100644 --- a/runtime/helpers/CMakeLists.txt +++ b/runtime/helpers/CMakeLists.txt @@ -86,9 +86,6 @@ set(RUNTIME_SRCS_HELPERS_BASE ${CMAKE_CURRENT_SOURCE_DIR}/validators.h ) -get_property(NEO_CORE_HELPERS GLOBAL PROPERTY NEO_CORE_HELPERS) -list(APPEND RUNTIME_SRCS_HELPERS_BASE ${NEO_CORE_HELPERS}) - set(RUNTIME_SRCS_HELPERS_WINDOWS ${CMAKE_CURRENT_SOURCE_DIR}/gmm_callbacks.h ${CMAKE_CURRENT_SOURCE_DIR}/gmm_callbacks.inl diff --git a/runtime/memory_manager/CMakeLists.txt b/runtime/memory_manager/CMakeLists.txt index bad06ff854..48b53040c8 100644 --- a/runtime/memory_manager/CMakeLists.txt +++ b/runtime/memory_manager/CMakeLists.txt @@ -35,28 +35,6 @@ set(RUNTIME_SRCS_MEMORY_MANAGER ${CMAKE_CURRENT_SOURCE_DIR}/surface.h ) -get_property(NEO_UNIFIED_MEMORY GLOBAL PROPERTY NEO_UNIFIED_MEMORY) -list(APPEND RUNTIME_SRCS_MEMORY_MANAGER ${NEO_UNIFIED_MEMORY}) - -get_property(NEO_CORE_MEMORY_MANAGER GLOBAL PROPERTY NEO_CORE_MEMORY_MANAGER) -list(APPEND RUNTIME_SRCS_MEMORY_MANAGER ${NEO_CORE_MEMORY_MANAGER}) - -get_property(NEO_CORE_MEMORY_PROPERTIES GLOBAL PROPERTY NEO_CORE_MEMORY_PROPERTIES) -list(APPEND RUNTIME_SRCS_MEMORY_MANAGER ${NEO_CORE_MEMORY_PROPERTIES}) - -get_property(NEO_CORE_PAGE_FAULT_MANAGER GLOBAL PROPERTY NEO_CORE_PAGE_FAULT_MANAGER) -list(APPEND RUNTIME_SRCS_MEMORY_MANAGER ${NEO_CORE_PAGE_FAULT_MANAGER}) - -if(WIN32) - get_property(NEO_CORE_PAGE_FAULT_MANAGER_WINDOWS GLOBAL PROPERTY NEO_CORE_PAGE_FAULT_MANAGER_WINDOWS) - list(APPEND RUNTIME_SRCS_MEMORY_MANAGER ${NEO_CORE_PAGE_FAULT_MANAGER_WINDOWS}) -endif() - -if(UNIX) - get_property(NEO_CORE_PAGE_FAULT_MANAGER_LINUX GLOBAL PROPERTY NEO_CORE_PAGE_FAULT_MANAGER_LINUX) - list(APPEND RUNTIME_SRCS_MEMORY_MANAGER ${NEO_CORE_PAGE_FAULT_MANAGER_LINUX}) -endif() - target_sources(${NEO_STATIC_LIB_NAME} PRIVATE ${RUNTIME_SRCS_MEMORY_MANAGER}) set_property(GLOBAL PROPERTY RUNTIME_SRCS_MEMORY_MANAGER ${RUNTIME_SRCS_MEMORY_MANAGER}) add_subdirectories() diff --git a/runtime/os_interface/CMakeLists.txt b/runtime/os_interface/CMakeLists.txt index 42fe3b88d7..17129ba17b 100644 --- a/runtime/os_interface/CMakeLists.txt +++ b/runtime/os_interface/CMakeLists.txt @@ -30,9 +30,6 @@ set(RUNTIME_SRCS_OS_INTERFACE_BASE ${CMAKE_CURRENT_SOURCE_DIR}/print.h ) -get_property(NEO_CORE_OS_INTERFACE GLOBAL PROPERTY NEO_CORE_OS_INTERFACE) -list(APPEND RUNTIME_SRCS_OS_INTERFACE_BASE ${NEO_CORE_OS_INTERFACE}) - target_sources(${NEO_STATIC_LIB_NAME} PRIVATE ${RUNTIME_SRCS_OS_INTERFACE_BASE}) set_property(GLOBAL PROPERTY RUNTIME_SRCS_OS_INTERFACE_BASE ${RUNTIME_SRCS_OS_INTERFACE_BASE}) add_subdirectories() diff --git a/runtime/os_interface/linux/CMakeLists.txt b/runtime/os_interface/linux/CMakeLists.txt index 00ac717511..ef84a4934e 100644 --- a/runtime/os_interface/linux/CMakeLists.txt +++ b/runtime/os_interface/linux/CMakeLists.txt @@ -52,10 +52,6 @@ set(RUNTIME_SRCS_OS_INTERFACE_LINUX ${CMAKE_CURRENT_SOURCE_DIR}/performance_counters_linux.h ${CMAKE_CURRENT_SOURCE_DIR}/print.cpp ) - -get_property(NEO_CORE_OS_INTERFACE_LINUX GLOBAL PROPERTY NEO_CORE_OS_INTERFACE_LINUX) -list(APPEND RUNTIME_SRCS_OS_INTERFACE_LINUX ${NEO_CORE_OS_INTERFACE_LINUX}) - if(UNIX) target_sources(${NEO_STATIC_LIB_NAME} PRIVATE ${RUNTIME_SRCS_OS_INTERFACE_LINUX}) endif() diff --git a/runtime/os_interface/windows/CMakeLists.txt b/runtime/os_interface/windows/CMakeLists.txt index 3dc8433e55..7620a430ec 100644 --- a/runtime/os_interface/windows/CMakeLists.txt +++ b/runtime/os_interface/windows/CMakeLists.txt @@ -71,9 +71,6 @@ set(RUNTIME_SRCS_OS_INTERFACE_WINDOWS ) if(WIN32) - get_property(NEO_CORE_OS_INTERFACE_WINDOWS GLOBAL PROPERTY NEO_CORE_OS_INTERFACE_WINDOWS) - list(APPEND RUNTIME_SRCS_OS_INTERFACE_WINDOWS ${NEO_CORE_OS_INTERFACE_WINDOWS}) - target_sources(${NEO_STATIC_LIB_NAME} PRIVATE ${RUNTIME_SRCS_OS_INTERFACE_WINDOWS} ) diff --git a/runtime/utilities/CMakeLists.txt b/runtime/utilities/CMakeLists.txt index 0360f83638..c050a68483 100644 --- a/runtime/utilities/CMakeLists.txt +++ b/runtime/utilities/CMakeLists.txt @@ -12,12 +12,6 @@ set(RUNTIME_SRCS_UTILITIES_BASE ${CMAKE_CURRENT_SOURCE_DIR}/tag_allocator.h ) -get_property(NEO_CORE_UTILITIES GLOBAL PROPERTY NEO_CORE_UTILITIES) -list(APPEND RUNTIME_SRCS_UTILITIES_BASE ${NEO_CORE_UTILITIES}) - -get_property(NEO_CORE_UTILITIES_WINDOWS GLOBAL PROPERTY NEO_CORE_UTILITIES_WINDOWS) -get_property(NEO_CORE_UTILITIES_LINUX GLOBAL PROPERTY NEO_CORE_UTILITIES_LINUX) - set_property(GLOBAL PROPERTY RUNTIME_SRCS_UTILITIES_BASE ${RUNTIME_SRCS_UTILITIES_BASE}) target_sources(${NEO_STATIC_LIB_NAME} PRIVATE ${RUNTIME_SRCS_UTILITIES_BASE})