mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-17 08:23:33 +08:00
feat(boards/modalai/voxl2): add Debian packaging framework
Add a scalable .deb packaging framework for VOXL2, built on the existing cmake/package.cmake CPack infrastructure. The framework handles multi-processor boards by having the POSIX (_default) build own the .deb and pull in the companion SLPI build's artifacts. Board-specific files: - cmake/package.cmake: CPack variable overrides (name, deps, version) - cmake/install.cmake: install() rules for all .deb contents - debian/postinst: px4-* symlinks, DSP signature, directory setup - debian/prerm: service stop, symlink cleanup - debian/voxl-px4.service: systemd unit (after sscrpcd) Infrastructure changes: - cmake/package.cmake: hook for board-specific CPack overrides - platforms/posix/CMakeLists.txt: hook for board install.cmake - Makefile: %_deb pattern rule (build _default, then cpack -G DEB) - CI: auto-discover _deb targets, collect .deb artifacts, upload to GitHub Releases Future boards: add cmake/package.cmake + cmake/install.cmake and CI discovers it automatically. No new file formats or tools needed. Signed-off-by: Ramon Roche <mrpollo@gmail.com>
This commit is contained in:
@@ -80,7 +80,8 @@ target_link_libraries(px4 PRIVATE uORB)
|
||||
# install
|
||||
#
|
||||
|
||||
# TODO: extend to snapdragon
|
||||
# Generic install rules (skipped when board provides its own install.cmake)
|
||||
if(NOT EXISTS "${PX4_BOARD_DIR}/cmake/install.cmake")
|
||||
|
||||
# px4 dirs
|
||||
install(
|
||||
@@ -94,6 +95,8 @@ install(
|
||||
USE_SOURCE_PERMISSIONS
|
||||
)
|
||||
|
||||
endif() # NOT board install.cmake
|
||||
|
||||
# Module Symlinks
|
||||
px4_posix_generate_symlinks(
|
||||
MODULE_LIST ${module_libraries}
|
||||
@@ -112,6 +115,11 @@ if(EXISTS "${PX4_BOARD_DIR}/cmake/upload.cmake")
|
||||
include(${PX4_BOARD_DIR}/cmake/upload.cmake)
|
||||
endif()
|
||||
|
||||
# board defined install rules for .deb packaging
|
||||
if(EXISTS "${PX4_BOARD_DIR}/cmake/install.cmake")
|
||||
include(${PX4_BOARD_DIR}/cmake/install.cmake)
|
||||
endif()
|
||||
|
||||
# board defined link libraries
|
||||
if(EXISTS "${PX4_BOARD_DIR}/cmake/link_libraries.cmake")
|
||||
include(${PX4_BOARD_DIR}/cmake/link_libraries.cmake)
|
||||
|
||||
Reference in New Issue
Block a user