if(CONFIG_BUILTIN)
include_directories(${CMAKE_CURRENT_BINARY_DIR})
get_property(nuttx_app_libs GLOBAL PROPERTY NUTTX_APPS_LIBRARIES)
get_property(only_registers GLOBAL PROPERTY NUTTX_APPS_ONLY_REGISTER)
list(APPEND nuttx_app_libs ${only_registers})
set(builtin_list_string)
set(builtin_proto_string)
foreach(module ${nuttx_app_libs})
get_target_property(APP_MAIN ${module} APP_MAIN)
get_target_property(APP_NAME ${module} APP_NAME)
get_target_property(APP_PRIORITY ${module} APP_PRIORITY)
get_target_property(APP_STACK ${module} APP_STACK)
set(builtin_list_string
"${builtin_list_string}\{ \"${APP_NAME}\", ${APP_PRIORITY}, ${APP_STACK}, ${APP_MAIN}"
)
if(CONFIG_SCHED_USER_IDENTITY)
get_target_property(APP_UID ${module} APP_UID)
set(builtin_list_string "${builtin_list_string}, ${APP_UID}")
get_target_property(APP_GID ${module} APP_GID)
set(builtin_list_string "${builtin_list_string}, ${APP_GID}")
get_target_property(APP_MODE ${module} APP_MODE)
set(builtin_list_string "${builtin_list_string}, ${APP_MODE}")
endif()
if(CONFIG_MM_TASK_HEAP)
get_target_property(APP_HEAP ${module} APP_HEAP)
set(builtin_list_string "${builtin_list_string}, ${APP_HEAP}")
endif()
set(builtin_list_string "${builtin_list_string} \},\n")
set(builtin_proto_string
"${builtin_proto_string}int ${APP_MAIN}(int argc, char *argv[]);\n")
endforeach()
configure_file(builtin_proto.h.in builtin_proto.h)
configure_file(builtin_list.h.in builtin_list.h)
set(CSRCS)
list(APPEND CSRCS builtin_list.c builtin_list.h builtin_proto.h)
nuttx_add_library(apps_builtin ${CSRCS})
endif()