mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-20 03:23:35 +08:00
build: bundle manifest to *.px4 file
Signed-off-by: Ramon Roche <mrpollo@gmail.com>
This commit is contained in:
@@ -422,9 +422,31 @@ endif()
|
||||
|
||||
# create .px4 with parameter and airframe metadata
|
||||
if (TARGET parameters_xml AND TARGET airframes_xml)
|
||||
|
||||
string(REPLACE ".elf" ".px4" fw_package ${PX4_BINARY_DIR}/${FW_NAME})
|
||||
|
||||
# Generate manifest object
|
||||
set(MANIFEST_JSON ${PX4_BINARY_DIR}/manifest.json)
|
||||
add_custom_command(
|
||||
OUTPUT ${MANIFEST_JSON}
|
||||
COMMAND
|
||||
${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/manifest/gen_board_manifest_from_defconfig.py
|
||||
--defconfig ${NUTTX_DEFCONFIG}
|
||||
--manufacturer "${CONFIG_CDCACM_VENDORSTR}"
|
||||
--productstr "${CONFIG_CDCACM_PRODUCTSTR}"
|
||||
--target "${PX4_CONFIG}"
|
||||
--arch "${CONFIG_ARCH}"
|
||||
--name "${PX4_BOARD_NAME}"
|
||||
--chip "${CONFIG_ARCH_CHIP}"
|
||||
--vid "${CONFIG_CDCACM_VENDORID}"
|
||||
--pid "${CONFIG_CDCACM_PRODUCTID}"
|
||||
--out ${MANIFEST_JSON}
|
||||
DEPENDS
|
||||
${PX4_SOURCE_DIR}/Tools/manifest/gen_board_manifest_from_defconfig.py
|
||||
${NUTTX_DEFCONFIG}
|
||||
COMMENT "Generating board specific manifest from defconfig"
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${fw_package}
|
||||
COMMAND
|
||||
@@ -433,11 +455,14 @@ if (TARGET parameters_xml AND TARGET airframes_xml)
|
||||
--git_identity ${PX4_SOURCE_DIR}
|
||||
--parameter_xml ${PX4_BINARY_DIR}/parameters.xml
|
||||
--airframe_xml ${PX4_BINARY_DIR}/airframes.xml
|
||||
--image ${PX4_BINARY_DIR}/${PX4_CONFIG}.bin > ${fw_package}
|
||||
--image ${PX4_BINARY_DIR}/${PX4_CONFIG}.bin
|
||||
--manifest_json ${MANIFEST_JSON}
|
||||
> ${fw_package}
|
||||
DEPENDS
|
||||
${PX4_BINARY_DIR}/${PX4_CONFIG}.bin
|
||||
airframes_xml
|
||||
parameters_xml
|
||||
${MANIFEST_JSON}
|
||||
COMMENT "Creating ${fw_package}"
|
||||
WORKING_DIRECTORY ${PX4_BINARY_DIR}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user