Simplified config handling.

This commit is contained in:
James Goppert
2015-09-10 23:53:25 -04:00
parent 3d52582dd7
commit ec209f13f0
7 changed files with 211 additions and 253 deletions

View File

@@ -73,8 +73,8 @@
# ---------------------------------------------------------------------------
#
# * Never set global variables in an included cmake file,
# you may only define functions. This excludes Toolchain files. This
# makes it clear to the user when variables are being set or targets
# you may only define functions. This excludes config and Toolchain files.
# This makes it clear to the user when variables are being set or targets
# are being created.
#
# * Setting a global variable in a CMakeLists.txt file is ok, because
@@ -133,7 +133,7 @@ set(px4_required_config
)
foreach(conf ${px4_required_config})
if(NOT DEFINED ${conf})
message(FATAL_ERROR "${config_module} must define ${conf}")
message(FATAL_ERROR "cmake/${config_module} must define ${conf}")
endif()
endforeach()

View File

@@ -1,13 +1,8 @@
include(nuttx/px4_impl_nuttx)
function(px4_get_config)
set(CMAKE_TOOLCHAIN_FILE cmake/toolchains/Toolchain-arm-none-eabi.cmake)
px4_parse_function_args(
NAME px4_set_config_modules
ONE_VALUE OUT_MODULES OUT_FW_OPTS OUT_EXTRA_CMDS
ARGN ${ARGN})
set(config_module_list
set(config_module_list
#
# Board support modules
@@ -120,41 +115,21 @@ function(px4_get_config)
# Hardware test
examples/hwtest
)
)
set(firmware_options
set(config_firmware_options
PARAM_XML # generate param xml
)
set(extra_cmds serdis_main sercon_main)
set(config_extra_builtin_cmds
serdis_main
sercon_main
)
# output
if(OUT_MODULES)
set(${OUT_MODULES} ${config_module_list} PARENT_SCOPE)
endif()
if (OUT_FW_OPTS)
set(${OUT_FW_OPTS} ${fw_opts} PARENT_SCOPE)
endif()
endfunction()
function(px4_add_extra_builtin_cmds)
px4_parse_function_args(
NAME px4_add_extra_builtin_cmds
ONE_VALUE OUT
REQUIRED OUT
ARGN ${ARGN})
add_custom_target(sercon)
set_target_properties(sercon PROPERTIES
add_custom_target(sercon)
set_target_properties(sercon PROPERTIES
MAIN "sercon" STACK "2048")
add_custom_target(serdis)
set_target_properties(serdis PROPERTIES
add_custom_target(serdis)
set_target_properties(serdis PROPERTIES
MAIN "serdis" STACK "2048")
set(${OUT} sercon serdis PARENT_SCOPE)
endfunction()

View File

@@ -2,14 +2,9 @@ include(nuttx/px4_impl_nuttx)
message(WARNING "this is a work in progress and doesn't build yet")
function(px4_get_config)
set(CMAKE_TOOLCHAIN_FILE cmake/toolchains/Toolchain-native.cmake)
px4_parse_function_args(
NAME px4_set_config_modules
ONE_VALUE OUT_MODULES OUT_FW_OPTS OUT_EXTRA_CMDS
ARGN ${ARGN})
set(config_module_list
set(config_module_list
platforms/nuttx
platforms/nuttx/px4_layer
platforms/common
@@ -22,7 +17,20 @@ function(px4_get_config)
lib/conversion
)
set(${out_module_list} ${config_module_list} PARENT_SCOPE)
set(config_firmware_options
PARAM_XML # generate param xml
)
endfunction()
set(config_extra_builtin_cmds
serdis_main
sercon_main
)
add_custom_target(sercon)
set_target_properties(sercon PROPERTIES
MAIN "sercon" STACK "2048")
add_custom_target(serdis)
set_target_properties(serdis PROPERTIES
MAIN "serdis" STACK "2048")

View File

@@ -1,14 +1,8 @@
include(posix/px4_impl_posix)
set(USE_TOOLCHAIN Toolchain-native)
function(px4_get_config)
set(CMAKE_TOOLCHAIN_FILE cmake/toolchains/Toolchain-native.cmake)
px4_parse_function_args(
NAME px4_set_config_modules
ONE_VALUE OUT_MODULES OUT_FW_OPTS OUT_EXTRA_CMDS
ARGN ${ARGN})
set(config_module_list
set(config_module_list
drivers/led
drivers/device
drivers/boards/sitl
@@ -60,39 +54,20 @@ function(px4_get_config)
lib/launchdetection
)
set(firmware_options
set(config_firmware_options
PARAM_XML # generate param xml
)
set(extra_cmds serdis_main sercon_main)
set(config_extra_builtin_cmds
serdis_main
sercon_main
)
# output
if(OUT_MODULES)
set(${OUT_MODULES} ${config_module_list} PARENT_SCOPE)
endif()
if (OUT_FW_OPTS)
set(${OUT_FW_OPTS} ${fw_opts} PARENT_SCOPE)
endif()
endfunction()
function(px4_add_extra_builtin_cmds)
px4_parse_function_args(
NAME px4_add_extra_builtin_cmds
ONE_VALUE OUT
REQUIRED OUT
ARGN ${ARGN})
add_custom_target(sercon)
set_target_properties(sercon PROPERTIES
add_custom_target(sercon)
set_target_properties(sercon PROPERTIES
MAIN "sercon" STACK "2048")
add_custom_target(serdis)
set_target_properties(serdis PROPERTIES
add_custom_target(serdis)
set_target_properties(serdis PROPERTIES
MAIN "serdis" STACK "2048")
set(${OUT} sercon serdis PARENT_SCOPE)
endfunction()