diff --git a/ROMFS/CMakeLists.txt b/ROMFS/CMakeLists.txt index cd542651cd..04195d2ad4 100644 --- a/ROMFS/CMakeLists.txt +++ b/ROMFS/CMakeLists.txt @@ -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) diff --git a/platforms/nuttx/CMakeLists.txt b/platforms/nuttx/CMakeLists.txt index 1dd2a0a11a..12ac585d36 100644 --- a/platforms/nuttx/CMakeLists.txt +++ b/platforms/nuttx/CMakeLists.txt @@ -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) diff --git a/src/drivers/px4io/CMakeLists.txt b/src/drivers/px4io/CMakeLists.txt index 5fbf2c7edc..67cc86946a 100644 --- a/src/drivers/px4io/CMakeLists.txt +++ b/src/drivers/px4io/CMakeLists.txt @@ -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/