mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-20 06:43:34 +08:00
param gen reorganize and fix DISABLE_PARAMS_MODULE_SCOPING
This commit is contained in:
@@ -212,7 +212,7 @@ function(px4_add_module)
|
||||
# default stack max to stack main
|
||||
if(NOT STACK_MAIN AND STACK)
|
||||
set(STACK_MAIN ${STACK})
|
||||
message(AUTHOR_WARNING "STACK deprecated, USE STACK_MAIN instead!!!!!!!!!!!!")
|
||||
message(AUTHOR_WARNING "STACK deprecated, USE STACK_MAIN instead!")
|
||||
endif()
|
||||
|
||||
foreach(property MAIN STACK_MAIN PRIORITY)
|
||||
@@ -245,7 +245,7 @@ function(px4_add_module)
|
||||
endif()
|
||||
|
||||
if(INCLUDES)
|
||||
target_include_directories(${MODULE} ${INCLUDES})
|
||||
target_include_directories(${MODULE} PRIVATE ${INCLUDES})
|
||||
endif()
|
||||
|
||||
if(DEPENDS)
|
||||
|
||||
@@ -38,8 +38,6 @@
|
||||
# utility functions
|
||||
#
|
||||
# * px4_generate_messages
|
||||
# * px4_generate_parameters_xml
|
||||
# * px4_generate_parameters_source
|
||||
# * px4_generate_airframes_xml
|
||||
#
|
||||
|
||||
@@ -167,116 +165,6 @@ function(px4_generate_messages)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
#=============================================================================
|
||||
#
|
||||
# px4_generate_parameters_xml
|
||||
#
|
||||
# Generates a parameters.xml file.
|
||||
#
|
||||
# Usage:
|
||||
# px4_generate_parameters_xml(OUT <param-xml_file>)
|
||||
#
|
||||
# Input:
|
||||
# BOARD : the board
|
||||
# MODULES : a list of px4 modules used to limit scope of the paramaters
|
||||
# OVERRIDES : A json dict with param names as keys and param default
|
||||
# overrides as values
|
||||
#
|
||||
# Output:
|
||||
# OUT : the generated xml file
|
||||
#
|
||||
# Example:
|
||||
# px4_generate_parameters_xml(OUT parameters.xml)
|
||||
#
|
||||
function(px4_generate_parameters_xml)
|
||||
px4_parse_function_args(
|
||||
NAME px4_generate_parameters_xml
|
||||
ONE_VALUE OUT BOARD OVERRIDES
|
||||
MULTI_VALUE MODULES
|
||||
REQUIRED MODULES OUT BOARD
|
||||
ARGN ${ARGN})
|
||||
set(path ${PX4_SOURCE_DIR}/src)
|
||||
file(GLOB_RECURSE param_src_files
|
||||
${PX4_SOURCE_DIR}/src/*params.c
|
||||
)
|
||||
if (NOT OVERRIDES)
|
||||
set(OVERRIDES "{}")
|
||||
endif()
|
||||
|
||||
# get full path for each module
|
||||
set(module_list)
|
||||
if(DISABLE_PARAMS_MODULE_SCOPING)
|
||||
set(module_list ${path})
|
||||
else()
|
||||
foreach(module ${MODULES})
|
||||
list(APPEND module_list ${PX4_SOURCE_DIR}/src/${module})
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
add_custom_command(OUTPUT ${OUT}
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_process_params.py
|
||||
-s ${module_list} ${EXTERNAL_MODULES_LOCATION}
|
||||
--board CONFIG_ARCH_${BOARD} --xml --inject-xml
|
||||
--overrides ${OVERRIDES}
|
||||
DEPENDS ${param_src_files} ${PX4_SOURCE_DIR}/Tools/px_process_params.py
|
||||
${PX4_SOURCE_DIR}/Tools/px_generate_params.py
|
||||
)
|
||||
|
||||
set(${OUT} ${${OUT}} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
#=============================================================================
|
||||
#
|
||||
# px4_generate_parameters_source
|
||||
#
|
||||
# Generates a source file with all parameters.
|
||||
#
|
||||
# Usage:
|
||||
# px4_generate_parameters_source(OUT <list-source-files> XML <param-xml-file> MODULES px4 module list)
|
||||
#
|
||||
# Input:
|
||||
# XML : the parameters.xml file
|
||||
# MODULES : a list of px4 modules used to limit scope of the paramaters
|
||||
# DEPS : target dependencies
|
||||
#
|
||||
# Output:
|
||||
# OUT : the generated source files
|
||||
#
|
||||
# Example:
|
||||
# px4_generate_parameters_source(OUT param_files XML parameters.xml MODULES lib/controllib modules/ekf2)
|
||||
#
|
||||
function(px4_generate_parameters_source)
|
||||
px4_parse_function_args(
|
||||
NAME px4_generate_parameters_source
|
||||
ONE_VALUE OUT XML DEPS
|
||||
MULTI_VALUE MODULES
|
||||
REQUIRED MODULES OUT XML
|
||||
ARGN ${ARGN})
|
||||
|
||||
set(generated_files
|
||||
${CMAKE_CURRENT_BINARY_DIR}/px4_parameters.h
|
||||
${CMAKE_CURRENT_BINARY_DIR}/px4_parameters.c)
|
||||
|
||||
set_source_files_properties(${generated_files} PROPERTIES GENERATED TRUE)
|
||||
|
||||
if(DISABLE_PARAMS_MODULE_SCOPING)
|
||||
add_custom_command(OUTPUT ${generated_files}
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_generate_params.py
|
||||
--xml ${XML} --dest ${CMAKE_CURRENT_BINARY_DIR}
|
||||
DEPENDS ${XML} ${DEPS}
|
||||
)
|
||||
else()
|
||||
px4_join(OUT module_list LIST ${MODULES} GLUE ",")
|
||||
add_custom_command(OUTPUT ${generated_files}
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_generate_params.py
|
||||
--xml ${XML} --modules ${module_list} --dest ${CMAKE_CURRENT_BINARY_DIR}
|
||||
DEPENDS ${XML} ${DEPS}
|
||||
)
|
||||
endif()
|
||||
|
||||
set(${OUT} ${generated_files} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
#=============================================================================
|
||||
#
|
||||
# px4_generate_airframes_xml
|
||||
@@ -299,14 +187,15 @@ endfunction()
|
||||
function(px4_generate_airframes_xml)
|
||||
px4_parse_function_args(
|
||||
NAME px4_generate_airframes_xml
|
||||
ONE_VALUE OUT BOARD
|
||||
REQUIRED OUT BOARD
|
||||
ONE_VALUE BOARD
|
||||
REQUIRED BOARD
|
||||
ARGN ${ARGN})
|
||||
set(process_airframes ${PX4_SOURCE_DIR}/Tools/px_process_airframes.py)
|
||||
add_custom_command(OUTPUT ${OUT}
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${process_airframes}
|
||||
|
||||
add_custom_command(OUTPUT ${PX4_SOURCE_DIR}/airframes.xml
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_process_airframes.py
|
||||
-a ${PX4_SOURCE_DIR}/ROMFS/${config_romfs_root}/init.d
|
||||
--board CONFIG_ARCH_BOARD_${BOARD} --xml
|
||||
DEPENDS ${PX4_SOURCE_DIR}/Tools/px_process_airframes.py
|
||||
)
|
||||
set(${OUT} ${${OUT}} PARENT_SCOPE)
|
||||
add_custom_target(airframes_xml DEPENDS ${PX4_SOURCE_DIR}/airframes.xml)
|
||||
endfunction()
|
||||
|
||||
@@ -103,7 +103,7 @@ set(config_module_list
|
||||
#
|
||||
# Library modules
|
||||
#
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/systemlib/mixer
|
||||
modules/uORB
|
||||
|
||||
@@ -83,7 +83,7 @@ set(config_module_list
|
||||
#
|
||||
# Library modules
|
||||
#
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/systemlib/mixer
|
||||
modules/uORB
|
||||
|
||||
@@ -125,7 +125,7 @@ set(config_module_list
|
||||
#
|
||||
# Library modules
|
||||
#
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/systemlib/mixer
|
||||
modules/uORB
|
||||
|
||||
@@ -75,7 +75,7 @@ set(config_module_list
|
||||
#
|
||||
# Library modules
|
||||
#
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/systemlib/mixer
|
||||
modules/uORB
|
||||
|
||||
@@ -64,7 +64,7 @@ set(config_module_list
|
||||
#
|
||||
# Library modules
|
||||
#
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/uORB
|
||||
lib/version
|
||||
|
||||
@@ -127,7 +127,7 @@ set(config_module_list
|
||||
#
|
||||
# Library modules
|
||||
#
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/systemlib/mixer
|
||||
modules/uORB
|
||||
|
||||
@@ -29,7 +29,7 @@ set(config_module_list
|
||||
#
|
||||
# Library modules
|
||||
#
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/systemlib/mixer
|
||||
modules/uORB
|
||||
|
||||
@@ -55,7 +55,7 @@ set(config_module_list
|
||||
#
|
||||
# Library modules
|
||||
#
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/uORB
|
||||
lib/version
|
||||
|
||||
@@ -64,7 +64,7 @@ set(config_module_list
|
||||
#
|
||||
# Library modules
|
||||
#
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
lib/version
|
||||
|
||||
|
||||
@@ -98,7 +98,7 @@ set(config_module_list
|
||||
#
|
||||
# Library modules
|
||||
#
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/systemlib/mixer
|
||||
modules/uORB
|
||||
|
||||
@@ -129,7 +129,7 @@ set(config_module_list
|
||||
#
|
||||
# Library modules
|
||||
#
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/systemlib/mixer
|
||||
modules/uORB
|
||||
|
||||
@@ -123,7 +123,7 @@ set(config_module_list
|
||||
#
|
||||
# Library modules
|
||||
#
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/systemlib/mixer
|
||||
modules/uORB
|
||||
|
||||
@@ -134,7 +134,7 @@ set(config_module_list
|
||||
# Library modules
|
||||
#
|
||||
modules/dataman
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/systemlib/mixer
|
||||
modules/uORB
|
||||
|
||||
@@ -133,7 +133,7 @@ set(config_module_list
|
||||
#
|
||||
# Library modules
|
||||
#
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/systemlib/mixer
|
||||
modules/uORB
|
||||
|
||||
@@ -135,7 +135,7 @@ set(config_module_list
|
||||
# Library modules
|
||||
#
|
||||
modules/dataman
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/systemlib/mixer
|
||||
modules/uORB
|
||||
|
||||
@@ -133,7 +133,7 @@ set(config_module_list
|
||||
# Library modules
|
||||
#
|
||||
modules/dataman
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/systemlib/mixer
|
||||
modules/uORB
|
||||
|
||||
@@ -111,7 +111,7 @@ set(config_module_list
|
||||
#
|
||||
# Library modules
|
||||
#
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/systemlib/mixer
|
||||
modules/uORB
|
||||
|
||||
@@ -55,7 +55,7 @@ set(config_module_list
|
||||
#
|
||||
# Library modules
|
||||
#
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
lib/version
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ set(config_module_list
|
||||
#
|
||||
# Library modules
|
||||
#
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/systemlib/mixer
|
||||
modules/uORB
|
||||
|
||||
@@ -62,7 +62,7 @@ set(config_module_list
|
||||
modules/sdlog2
|
||||
modules/logger
|
||||
modules/commander
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/systemlib/mixer
|
||||
modules/uORB
|
||||
|
||||
@@ -28,7 +28,7 @@ set(config_module_list
|
||||
|
||||
modules/mavlink
|
||||
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/uORB
|
||||
modules/sensors
|
||||
|
||||
@@ -56,7 +56,7 @@ set(config_module_list
|
||||
modules/sdlog2
|
||||
modules/logger
|
||||
modules/commander
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/systemlib/mixer
|
||||
modules/uORB
|
||||
|
||||
@@ -61,7 +61,7 @@ set(config_module_list
|
||||
modules/sdlog2
|
||||
modules/logger
|
||||
modules/commander
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/systemlib/mixer
|
||||
modules/uORB
|
||||
|
||||
@@ -52,7 +52,7 @@ set(config_module_list
|
||||
modules/mc_pos_control
|
||||
modules/mc_att_control
|
||||
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/systemlib/mixer
|
||||
modules/uORB
|
||||
|
||||
@@ -44,7 +44,7 @@ set(config_module_list
|
||||
modules/mc_pos_control
|
||||
modules/mc_att_control
|
||||
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/systemlib/mixer
|
||||
modules/uORB
|
||||
|
||||
@@ -99,7 +99,7 @@ set(config_module_list
|
||||
# Library modules
|
||||
#
|
||||
modules/dataman
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/systemlib/mixer
|
||||
modules/uORB
|
||||
|
||||
@@ -12,7 +12,7 @@ set(config_module_list
|
||||
systemcmds/ver
|
||||
systemcmds/perf
|
||||
modules/uORB
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/ekf2
|
||||
modules/ekf2_replay
|
||||
|
||||
@@ -31,7 +31,7 @@ set(config_module_list
|
||||
#
|
||||
# Library modules
|
||||
#
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/uORB
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ set(config_module_list
|
||||
#
|
||||
# Library modules
|
||||
#
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/systemlib/mixer
|
||||
modules/uORB
|
||||
|
||||
@@ -31,7 +31,7 @@ set(config_module_list
|
||||
#
|
||||
# Library modules
|
||||
#
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/uORB
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ set(config_module_list
|
||||
#
|
||||
# Library modules
|
||||
#
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/systemlib/mixer
|
||||
modules/uORB
|
||||
|
||||
@@ -57,7 +57,7 @@ set(config_module_list
|
||||
#
|
||||
# Library modules
|
||||
#
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/systemlib/mixer
|
||||
modules/uORB
|
||||
|
||||
@@ -62,7 +62,7 @@ set(config_module_list
|
||||
#
|
||||
# Library modules
|
||||
#
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/systemlib/mixer
|
||||
modules/uORB
|
||||
|
||||
@@ -58,7 +58,7 @@ set(config_module_list
|
||||
#
|
||||
# Library modules
|
||||
#
|
||||
modules/param
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/systemlib/mixer
|
||||
modules/uORB
|
||||
|
||||
@@ -81,17 +81,19 @@ function(px4_nuttx_add_firmware)
|
||||
ARGN ${ARGN})
|
||||
|
||||
set(extra_args)
|
||||
|
||||
set(dependencies)
|
||||
if (PARAM_XML)
|
||||
list(APPEND extra_args
|
||||
--parameter_xml ${PARAM_XML}
|
||||
)
|
||||
list(APPEND dependencies parameters_xml)
|
||||
endif()
|
||||
|
||||
if (AIRFRAMES_XML)
|
||||
list(APPEND extra_args
|
||||
--airframe_xml ${AIRFRAMES_XML}
|
||||
)
|
||||
list(APPEND dependencies airframes_xml)
|
||||
endif()
|
||||
|
||||
add_custom_command(OUTPUT ${OUT} ${EXE}.bin
|
||||
@@ -101,7 +103,7 @@ function(px4_nuttx_add_firmware)
|
||||
--git_identity ${PX4_SOURCE_DIR}
|
||||
${extra_args}
|
||||
--image ${EXE}.bin > ${OUT}
|
||||
DEPENDS ${EXE}
|
||||
DEPENDS ${EXE} ${dependencies}
|
||||
)
|
||||
add_custom_target(build_firmware_${BOARD} ALL DEPENDS ${OUT})
|
||||
endfunction()
|
||||
|
||||
@@ -95,10 +95,8 @@ function(px4_qurt_generate_builtin_commands)
|
||||
math(EXPR command_count "${command_count}+1")
|
||||
endif()
|
||||
endforeach()
|
||||
configure_file(${PX4_SOURCE_DIR}/src/platforms/apps.cpp.in
|
||||
${OUT}.cpp)
|
||||
configure_file(${PX4_SOURCE_DIR}/src/platforms/apps.h.in
|
||||
${OUT}.h)
|
||||
configure_file(${PX4_SOURCE_DIR}/src/platforms/apps.cpp.in ${OUT}.cpp)
|
||||
configure_file(${PX4_SOURCE_DIR}/src/platforms/apps.h.in ${OUT}.h)
|
||||
endfunction()
|
||||
|
||||
#=============================================================================
|
||||
@@ -181,8 +179,8 @@ function(px4_os_add_flags)
|
||||
)
|
||||
|
||||
# Add the toolchain specific flags
|
||||
set(added_cflags -O0)
|
||||
set(added_cxx_flags -O0)
|
||||
set(added_cflags)
|
||||
set(added_cxx_flags)
|
||||
|
||||
# Clear -rdynamic flag which fails for hexagon
|
||||
set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
|
||||
|
||||
Reference in New Issue
Block a user