From 5036a09e2262553d4e389bf1b0f307faa35d3852 Mon Sep 17 00:00:00 2001 From: David Sidrane <david_s5@nscdg.com> Date: Thu, 29 Nov 2018 15:05:51 -0800 Subject: [PATCH] Add support from cromfs generation --- ROMFS/CMakeLists.txt | 56 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 46 insertions(+), 10 deletions(-) diff --git a/ROMFS/CMakeLists.txt b/ROMFS/CMakeLists.txt index bcc4fb58a6..062ef498eb 100644 --- a/ROMFS/CMakeLists.txt +++ b/ROMFS/CMakeLists.txt @@ -189,17 +189,53 @@ add_custom_command(OUTPUT romfs.img romfs.txt COMMENT "ROMFS: generating image" ) -# create nsh_romfsimg.c -find_program(XXD xxd) -if(NOT XXD) - message(FATAL_ERROR "xxd not found") +if(CONFIG_FS_CROMFS) + #TODO:build gencromfs tool from nuttx and path to it. + find_program(GENCROMFS gencromfs) + if(NOT GENCROMFS) + message(FATAL_ERROR "gencromfs not found") + endif() + # create nsh_romfsimg.c + add_custom_command(OUTPUT nsh_romfsimg.c + COMMAND ${CMAKE_COMMAND} -E remove -f nsh_romfsimg.c + COMMAND ${GENCROMFS} ${romfs_gen_root_dir} nsh_romfsimg.c + DEPENDS + ${romfs_gen_root_dir}/init.d/rcS + ${romfs_gen_root_dir}/init.d/rc.autostart + romfs_extras.stamp + romfs_pruned.stamp + COMMENT "ROMFS: generating image" + ) + +else() + find_program(GENROMFS genromfs) + if(NOT GENROMFS) + message(FATAL_ERROR "genromfs not found") + endif() + # create romfs.img + add_custom_command(OUTPUT romfs.img romfs.txt + COMMAND ${CMAKE_COMMAND} -E remove -f romfs.img romfs.txt + COMMAND ${GENROMFS} -f romfs.img -d ${romfs_gen_root_dir} -V "NSHInitVol" -v > romfs.txt 2>&1 + DEPENDS + ${romfs_gen_root_dir}/init.d/rcS + ${romfs_gen_root_dir}/init.d/rc.autostart + romfs_extras.stamp + COMMENT "ROMFS: generating image" + ) + + # create nsh_romfsimg.c + find_program(XXD xxd) + if(NOT XXD) + message(FATAL_ERROR "xxd not found") + endif() + 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 && ${CMAKE_COMMAND} -E rename nsh_romfsimg.c.tmp nsh_romfsimg.c + DEPENDS romfs.img + ) endif() -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 && ${CMAKE_COMMAND} -E rename nsh_romfsimg.c.tmp nsh_romfsimg.c - DEPENDS romfs.img - ) + add_library(romfs STATIC nsh_romfsimg.c) add_dependencies(romfs prebuild_targets) -- GitLab