cmake: pass exclusion list to nuttx_add_subdirectory

Introduce support in CMake to ignore specific directories
added by `nuttx_add_subdirectory()`. This provides more
flexibility for build configuration and allows excluding
unwanted or optional components.

* Improves modularity of project configuration.

Signed-off-by: trns1997 <trns1997@gmail.com>
This commit is contained in:
trns1997 2025-09-26 21:23:15 +02:00 committed by Xiang Xiao
parent ae5a6005dc
commit 81e79d9a65

View file

@ -21,6 +21,14 @@
# ##############################################################################
function(nuttx_add_subdirectory)
# Parse arguments: EXCLUDE can be a list of directories
set(options)
set(oneValueArgs)
set(multiValueArgs EXCLUDE)
cmake_parse_arguments(NUTTX "${options}" "${oneValueArgs}"
"${multiValueArgs}" ${ARGN})
# Find all subdirs that have a CMakeLists.txt
file(
GLOB subdir
LIST_DIRECTORIES false
@ -29,6 +37,14 @@ function(nuttx_add_subdirectory)
foreach(dir ${subdir})
get_filename_component(dir ${dir} DIRECTORY)
# Skip excluded directories
list(FIND NUTTX_EXCLUDE ${dir} _skip_index)
if(_skip_index GREATER -1)
message(STATUS "nuttx_add_subdirectory: Skipping ${dir}")
continue()
endif()
add_subdirectory(${dir})
endforeach()
endfunction()