1#
2# Copyright (C) 2020-2021 Intel Corporation
3#
4# SPDX-License-Identifier: MIT
5#
6
7function(create_source_tree target directory)
8  if(WIN32)
9    get_filename_component(directory ${directory} ABSOLUTE)
10    get_target_property(source_list ${target} SOURCES)
11    #source_group fails with file generated in build directory
12    if(DEFINED L0_DLL_RC_FILE)
13      list(FIND source_list ${L0_DLL_RC_FILE} _index)
14      if(${_index} GREATER -1)
15        list(REMOVE_ITEM source_list ${L0_DLL_RC_FILE})
16      endif()
17    endif()
18    source_group(TREE ${directory} FILES ${source_list})
19  endif()
20endfunction()
21
22macro(add_subdirectoriesL0 curdir dirmask)
23  file(GLOB children RELATIVE ${curdir} ${curdir}/${dirmask})
24  set(dirlist "")
25
26  foreach(child ${children})
27    if(IS_DIRECTORY ${curdir}/${child})
28      list(APPEND dirlist ${child})
29    endif()
30  endforeach()
31
32  foreach(subdir ${dirlist})
33    if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${subdir}/CMakeLists.txt)
34      add_subdirectory(${subdir})
35    endif()
36  endforeach()
37endmacro()
38