cmake: zephyr module processing improvements.
This commit improves Zephyr modules support in CMake. All Zephyr modules will now have a corresponding `ZEPHYR_${module_name}_MODULE_DIR` set, regardless of whether they define a cmake folder in module.yml. This results in: `ZEPHYR_${module_name}_MODULE_DIR` defined for all modules and refers to the root of the modle. `ZEPHYR_${module_name}_CMAKE_DIR` defined for modules that specifies cmake in module.yml, or is having both a CMakeLists.txt and Kconfig file in the zephyr folder. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
This commit is contained in:
parent
25c3f8e12f
commit
ab7ec17b86
3 changed files with 16 additions and 9 deletions
|
@ -470,11 +470,15 @@ foreach(module_name ${ZEPHYR_MODULE_NAMES})
|
|||
# the main binary dir instead.
|
||||
# https://cmake.org/pipermail/cmake/2019-June/069547.html
|
||||
string(TOUPPER ${module_name} MODULE_NAME_UPPER)
|
||||
set(ZEPHYR_CURRENT_MODULE_DIR ${ZEPHYR_${MODULE_NAME_UPPER}_MODULE_DIR})
|
||||
add_subdirectory(${ZEPHYR_CURRENT_MODULE_DIR} ${CMAKE_BINARY_DIR}/modules/${module_name})
|
||||
if(NOT ${ZEPHYR_${MODULE_NAME_UPPER}_CMAKE_DIR} STREQUAL "")
|
||||
set(ZEPHYR_CURRENT_MODULE_DIR ${ZEPHYR_${MODULE_NAME_UPPER}_MODULE_DIR})
|
||||
set(ZEPHYR_CURRENT_CMAKE_DIR ${ZEPHYR_${MODULE_NAME_UPPER}_CMAKE_DIR})
|
||||
add_subdirectory(${ZEPHYR_CURRENT_CMAKE_DIR} ${CMAKE_BINARY_DIR}/modules/${module_name})
|
||||
endif()
|
||||
endforeach()
|
||||
# Done processing modules, clear ZEPHYR_CURRENT_MODULE_DIR.
|
||||
# Done processing modules, clear ZEPHYR_CURRENT_MODULE_DIR and ZEPHYR_CURRENT_CMAKE_DIR.
|
||||
set(ZEPHYR_CURRENT_MODULE_DIR)
|
||||
set(ZEPHYR_CURRENT_CMAKE_DIR)
|
||||
|
||||
set(syscall_list_h ${CMAKE_CURRENT_BINARY_DIR}/include/generated/syscall_list.h)
|
||||
set(syscalls_json ${CMAKE_CURRENT_BINARY_DIR}/misc/generated/syscalls.json)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue