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
+3 -3
View File
@@ -73,8 +73,8 @@
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# #
# * Never set global variables in an included cmake file, # * Never set global variables in an included cmake file,
# you may only define functions. This excludes Toolchain files. This # you may only define functions. This excludes config and Toolchain files.
# makes it clear to the user when variables are being set or targets # This makes it clear to the user when variables are being set or targets
# are being created. # are being created.
# #
# * Setting a global variable in a CMakeLists.txt file is ok, because # * 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}) foreach(conf ${px4_required_config})
if(NOT DEFINED ${conf}) if(NOT DEFINED ${conf})
message(FATAL_ERROR "${config_module} must define ${conf}") message(FATAL_ERROR "cmake/${config_module} must define ${conf}")
endif() endif()
endforeach() endforeach()
+12 -37
View File
@@ -1,13 +1,8 @@
include(nuttx/px4_impl_nuttx) include(nuttx/px4_impl_nuttx)
function(px4_get_config) set(CMAKE_TOOLCHAIN_FILE cmake/toolchains/Toolchain-arm-none-eabi.cmake)
px4_parse_function_args( set(config_module_list
NAME px4_set_config_modules
ONE_VALUE OUT_MODULES OUT_FW_OPTS OUT_EXTRA_CMDS
ARGN ${ARGN})
set(config_module_list
# #
# Board support modules # Board support modules
@@ -120,41 +115,21 @@ function(px4_get_config)
# Hardware test # Hardware test
examples/hwtest examples/hwtest
) )
set(firmware_options set(config_firmware_options
PARAM_XML # generate param xml PARAM_XML # generate param xml
) )
set(extra_cmds serdis_main sercon_main) set(config_extra_builtin_cmds
serdis_main
sercon_main
)
# output add_custom_target(sercon)
if(OUT_MODULES) set_target_properties(sercon PROPERTIES
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
MAIN "sercon" STACK "2048") MAIN "sercon" STACK "2048")
add_custom_target(serdis) add_custom_target(serdis)
set_target_properties(serdis PROPERTIES set_target_properties(serdis PROPERTIES
MAIN "serdis" STACK "2048") MAIN "serdis" STACK "2048")
set(${OUT} sercon serdis PARENT_SCOPE)
endfunction()
+17 -9
View File
@@ -2,14 +2,9 @@ include(nuttx/px4_impl_nuttx)
message(WARNING "this is a work in progress and doesn't build yet") 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( set(config_module_list
NAME px4_set_config_modules
ONE_VALUE OUT_MODULES OUT_FW_OPTS OUT_EXTRA_CMDS
ARGN ${ARGN})
set(config_module_list
platforms/nuttx platforms/nuttx
platforms/nuttx/px4_layer platforms/nuttx/px4_layer
platforms/common platforms/common
@@ -22,7 +17,20 @@ function(px4_get_config)
lib/conversion 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")
+12 -37
View File
@@ -1,14 +1,8 @@
include(posix/px4_impl_posix) 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( set(config_module_list
NAME px4_set_config_modules
ONE_VALUE OUT_MODULES OUT_FW_OPTS OUT_EXTRA_CMDS
ARGN ${ARGN})
set(config_module_list
drivers/led drivers/led
drivers/device drivers/device
drivers/boards/sitl drivers/boards/sitl
@@ -60,39 +54,20 @@ function(px4_get_config)
lib/launchdetection lib/launchdetection
) )
set(firmware_options
set(config_firmware_options
PARAM_XML # generate param xml PARAM_XML # generate param xml
) )
set(extra_cmds serdis_main sercon_main) set(config_extra_builtin_cmds
serdis_main
sercon_main
)
# output add_custom_target(sercon)
if(OUT_MODULES) set_target_properties(sercon PROPERTIES
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
MAIN "sercon" STACK "2048") MAIN "sercon" STACK "2048")
add_custom_target(serdis) add_custom_target(serdis)
set_target_properties(serdis PROPERTIES set_target_properties(serdis PROPERTIES
MAIN "serdis" STACK "2048") MAIN "serdis" STACK "2048")
set(${OUT} sercon serdis PARENT_SCOPE)
endfunction()