diff --git a/cmake/px4_add_board.cmake b/cmake/px4_add_board.cmake index 3d9de012be..e658e15479 100644 --- a/cmake/px4_add_board.cmake +++ b/cmake/px4_add_board.cmake @@ -57,6 +57,7 @@ # [ SERIAL_PORTS ] # [ CONSTRAINED_FLASH ] # [ TESTING ] +# [ LINKER_PREFIX ] # ) # # Input: @@ -78,6 +79,7 @@ # SERIAL_PORTS : mapping of user configurable serial ports and param facing name # CONSTRAINED_FLASH : flag to enable constrained flash options (eg limit init script status text) # TESTING : flag to enable automatic inclusion of PX4 testing modules +# LINKER_PREFIX : optional to prefix on the Linker script. # # # Example: @@ -140,6 +142,7 @@ function(px4_add_board) IO BOOTLOADER UAVCAN_INTERFACES + LINKER_PREFIX MULTI_VALUE DRIVERS MODULES @@ -229,6 +232,12 @@ function(px4_add_board) set(PX4_TESTING "1" CACHE INTERNAL "testing enabled" FORCE) endif() + if(LINKER_PREFIX) + set(PX4_BOARD_LINKER_PREFIX ${LINKER_PREFIX} CACHE STRING "PX4 board linker prefix" FORCE) + else() + set(PX4_BOARD_LINKER_PREFIX "" CACHE STRING "PX4 board linker prefix" FORCE) + endif() + include(px4_impl_os) px4_os_prebuild_targets(OUT prebuild_targets BOARD ${PX4_BOARD}) diff --git a/platforms/nuttx/CMakeLists.txt b/platforms/nuttx/CMakeLists.txt index 66b6a8ea0e..9230453a2d 100644 --- a/platforms/nuttx/CMakeLists.txt +++ b/platforms/nuttx/CMakeLists.txt @@ -60,6 +60,10 @@ if("${PX4_BOARD_LABEL}" STREQUAL "bootloader") bootloader_lib drivers_board ) +else() + if(NOT "${PX4_BOARD_LINKER_PREFIX}" STREQUAL "") + set(SCRIPT_PREFIX ${PX4_BOARD_LINKER_PREFIX}-) + endif() endif() list(APPEND nuttx_libs