mirror of
https://github.com/apache/nuttx-apps.git
synced 2026-08-01 20:29:00 +00:00
add initial cmake build system
Co-authored-by: Daniel Agar <daniel@agar.ca> Signed-off-by: chao an <anchao@xiaomi.com>
This commit is contained in:
parent
c078b2ee7a
commit
4d79a5cbaf
220 changed files with 5993 additions and 0 deletions
59
builtin/CMakeLists.txt
Normal file
59
builtin/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
# ##############################################################################
|
||||
# apps/builtin/CMakeLists.txt
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more contributor
|
||||
# license agreements. See the NOTICE file distributed with this work for
|
||||
# additional information regarding copyright ownership. The ASF licenses this
|
||||
# file to you under the Apache License, Version 2.0 (the "License"); you may not
|
||||
# use this file except in compliance with the License. You may obtain a copy of
|
||||
# the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations under
|
||||
# the License.
|
||||
#
|
||||
# ##############################################################################
|
||||
|
||||
if(CONFIG_BUILTIN)
|
||||
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
# generate registry
|
||||
get_property(nuttx_app_libs GLOBAL PROPERTY NUTTX_APPS_LIBRARIES)
|
||||
set(builtin_list_string)
|
||||
set(builtin_proto_string)
|
||||
foreach(module ${nuttx_app_libs})
|
||||
|
||||
# builtin_list.h Example: { "hello", SCHED_PRIORITY_DEFAULT, 2048,
|
||||
# hello_main },
|
||||
#
|
||||
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} \}, \n"
|
||||
)
|
||||
|
||||
# builtin_proto.h Example: int hello_main(int argc, char *argv[]);
|
||||
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 exec_builtin.c builtin_list.h
|
||||
builtin_proto.h)
|
||||
|
||||
# target_sources(apps PRIVATE ${CSRCS})
|
||||
nuttx_add_library(apps_builtin ${CSRCS})
|
||||
|
||||
endif()
|
||||
1
builtin/builtin_list.h.in
Normal file
1
builtin/builtin_list.h.in
Normal file
|
|
@ -0,0 +1 @@
|
|||
${builtin_list_string}
|
||||
1
builtin/builtin_proto.h.in
Normal file
1
builtin/builtin_proto.h.in
Normal file
|
|
@ -0,0 +1 @@
|
|||
${builtin_proto_string}
|
||||
Loading…
Add table
Add a link
Reference in a new issue