You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.0 KiB
35 lines
1.0 KiB
# SPDX-License-Identifier: Apache-2.0 |
|
|
|
function(gen_kobj gen_dir_out) |
|
if (PROJECT_BINARY_DIR) |
|
set(gen_dir ${PROJECT_BINARY_DIR}/include/generated) |
|
else () |
|
set(gen_dir ${CMAKE_BINARY_DIR}/include/generated) |
|
endif () |
|
|
|
set(KOBJ_TYPES ${gen_dir}/kobj-types-enum.h) |
|
set(KOBJ_OTYPE ${gen_dir}/otype-to-str.h) |
|
set(KOBJ_SIZE ${gen_dir}/otype-to-size.h) |
|
|
|
file(MAKE_DIRECTORY ${gen_dir}) |
|
|
|
add_custom_command( |
|
OUTPUT ${KOBJ_TYPES} ${KOBJ_OTYPE} ${KOBJ_SIZE} |
|
COMMAND |
|
${PYTHON_EXECUTABLE} |
|
${ZEPHYR_BASE}/scripts/gen_kobject_list.py |
|
--kobj-types-output ${KOBJ_TYPES} |
|
--kobj-otype-output ${KOBJ_OTYPE} |
|
--kobj-size-output ${KOBJ_SIZE} |
|
${gen_kobject_list_include_args} |
|
$<$<BOOL:${CMAKE_VERBOSE_MAKEFILE}>:--verbose> |
|
DEPENDS |
|
${ZEPHYR_BASE}/scripts/gen_kobject_list.py |
|
${PARSE_SYSCALLS_TARGET} |
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} |
|
) |
|
add_custom_target(${KOBJ_TYPES_H_TARGET} DEPENDS ${KOBJ_TYPES} ${KOBJ_OTYPE}) |
|
|
|
set(${gen_dir_out} ${gen_dir} PARENT_SCOPE) |
|
|
|
endfunction ()
|
|
|