Browse Source

cmake improve ROMFS dependencies for px4io inclusion (#8860)

- fixes #8858
sbg
Daniel Agar 7 years ago committed by GitHub
parent
commit
f7a17ad5e5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 16
      ROMFS/CMakeLists.txt
  2. 3
      platforms/nuttx/CMakeLists.txt
  3. 1
      src/drivers/px4io/CMakeLists.txt

16
ROMFS/CMakeLists.txt

@ -28,19 +28,29 @@ list(APPEND romfs_dependencies @@ -28,19 +28,29 @@ list(APPEND romfs_dependencies
${romfs_temp_dir}/init.d/rc.autostart
)
# create romfs.bin
# copy px4io binary if configured
if (config_io_board)
list(APPEND romfs_dependencies
copy_px4io_bin
${fw_io_bin}
)
endif()
# create romfs.img
add_custom_command(OUTPUT romfs.img
COMMAND ${CMAKE_COMMAND} -E remove -f romfs.img romfs.txt
COMMAND ${GENROMFS} -f romfs.img -d ${romfs_temp_dir} -V "NSHInitVol" -v > romfs.txt 2>&1
DEPENDS ${romfs_dependencies}
)
# create romfs.o
# create nsh_romfsimg.c
add_custom_command(OUTPUT nsh_romfsimg.c
COMMAND ${CMAKE_COMMAND} -E remove -f nsh_romfsimg.c
COMMAND xxd -i romfs.img nsh_romfsimg.c
COMMAND sed 's/unsigned/const unsigned/g' nsh_romfsimg.c > nsh_romfsimg.c.tmp && mv nsh_romfsimg.c.tmp nsh_romfsimg.c
DEPENDS romfs.img
)
add_library(romfs STATIC nsh_romfsimg.c)
add_dependencies(romfs platforms__common)
add_dependencies(romfs prebuild_targets)
set_target_properties(romfs PROPERTIES LINKER_LANGUAGE C)

3
platforms/nuttx/CMakeLists.txt

@ -94,9 +94,6 @@ target_link_libraries(${FW_NAME} @@ -94,9 +94,6 @@ target_link_libraries(${FW_NAME}
if (config_romfs_root)
add_subdirectory(${PX4_SOURCE_DIR}/ROMFS ${PX4_BINARY_DIR}/ROMFS)
target_link_libraries(${FW_NAME} romfs)
if (config_io_board)
add_dependencies(romfs copy_px4io_bin)
endif()
endif()
# create px4 file (combined firmware and metadata)

1
src/drivers/px4io/CMakeLists.txt

@ -65,6 +65,7 @@ add_custom_command(OUTPUT ${fw_io_exe} @@ -65,6 +65,7 @@ add_custom_command(OUTPUT ${fw_io_exe}
file(RELATIVE_PATH fw_io_exe_relative ${CMAKE_CURRENT_BINARY_DIR} ${fw_io_exe})
file(RELATIVE_PATH fw_io_bin_relative ${CMAKE_CURRENT_BINARY_DIR} ${fw_io_bin})
set(fw_io_bin ${fw_io_bin} PARENT_SCOPE)
add_custom_command(OUTPUT ${fw_io_bin}
COMMAND mkdir -p ${PX4_BINARY_DIR}/ROMFS/${config_romfs_root}/extras/

Loading…
Cancel
Save