This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new acb5058428 cmake(bugfix):fix directory not being successfully added 
when adding romfs
acb5058428 is described below

commit acb505842882e4069e4109b86b449ceb5fd3aefe
Author: xuxin19 <[email protected]>
AuthorDate: Fri Nov 8 17:34:10 2024 +0800

    cmake(bugfix):fix directory not being successfully added when adding romfs
    
    board content should overwrite common content
    
    Signed-off-by: xuxin19 <[email protected]>
---
 cmake/nuttx_add_romfs.cmake | 23 +++++++++++------------
 1 file changed, 11 insertions(+), 12 deletions(-)

diff --git a/cmake/nuttx_add_romfs.cmake b/cmake/nuttx_add_romfs.cmake
index d8ac9f7012..a67cf29f95 100644
--- a/cmake/nuttx_add_romfs.cmake
+++ b/cmake/nuttx_add_romfs.cmake
@@ -82,8 +82,8 @@ function(nuttx_add_romfs)
       board_rcraws
       TARGET board
       PROPERTY BOARD_RCRAWS)
-    list(APPEND RCSRCS ${board_rcsrcs})
-    list(APPEND RCRAWS ${board_rcraws})
+    list(PREPEND RCSRCS ${board_rcsrcs})
+    list(PREPEND RCRAWS ${board_rcraws})
   endif()
 
   foreach(rcsrc ${RCSRCS})
@@ -120,16 +120,15 @@ function(nuttx_add_romfs)
     endif()
 
     if(IS_DIRECTORY ${SOURCE_ETC_PREFIX}/${SOURCE_ETC_SUFFIX})
-      file(
-        GLOB subraws
-        LIST_DIRECTORIES false
-        RELATIVE ${SOURCE_ETC_PREFIX}
-        ${SOURCE_ETC_PREFIX}/${SOURCE_ETC_SUFFIX})
-      foreach(subraw ${subraws})
-        list(APPEND DEPENDS ${SOURCE_ETC_PREFIX}/${subraw})
-        configure_file(${SOURCE_ETC_PREFIX}/${subraw}
-                       ${CMAKE_CURRENT_BINARY_DIR}/${subraw} COPYONLY)
-      endforeach()
+      add_custom_command(
+        OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${SOURCE_ETC_SUFFIX}
+        COMMAND ${CMAKE_COMMAND} -E make_directory
+                ${CMAKE_CURRENT_BINARY_DIR}/${SOURCE_ETC_SUFFIX}
+        COMMAND
+          ${CMAKE_COMMAND} -E copy_directory
+          ${SOURCE_ETC_PREFIX}/${SOURCE_ETC_SUFFIX}
+          ${CMAKE_CURRENT_BINARY_DIR}/${SOURCE_ETC_SUFFIX})
+      list(APPEND DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${SOURCE_ETC_SUFFIX})
     else()
       list(APPEND DEPENDS ${SOURCE_ETC_PREFIX}/${SOURCE_ETC_SUFFIX})
       configure_file(${SOURCE_ETC_PREFIX}/${SOURCE_ETC_SUFFIX}

Reply via email to