Просмотр исходного кода

Merge branch 'bugfix/cmakeSpaceProcessForCOMPONENT_SRCS' into 'master'

add spaces2list for COMPONENT_SRCS

See merge request idf/esp-idf!4427
Ivan Grokhotkov 6 лет назад
Родитель
Сommit
5f3bd38d3d
2 измененных файлов с 12 добавлено и 3 удалено
  1. 10 2
      tools/ci/test_build_system_cmake.sh
  2. 2 1
      tools/cmake/components.cmake

+ 10 - 2
tools/ci/test_build_system_cmake.sh

@@ -107,19 +107,27 @@ function run_tests()
 	idf.py build || failure "Failed to rebuild with changed app version"
     assert_rebuilt ${APP_BINS}
     assert_not_rebuilt ${BOOTLOADER_BINS} esp-idf/esp32/libesp32.a
-    
+
     print_status "Re-building does not change app.bin"
     take_build_snapshot
     idf.py build
     assert_not_rebuilt ${APP_BINS} ${BOOTLOADER_BINS} esp-idf/esp32/libesp32.a
     rm -f ${TESTDIR}/template/version.txt
-    
+
     print_status "Get the version of app from git describe. Project is not inside IDF and do not have a tag only a hash commit."
     idf.py build >> log.log || failure "Failed to build"
     version="Project version: "
     version+=$(git describe --always --tags --dirty)
     grep "${version}" log.log || failure "Project version should have a hash commit"
 
+    print_status "Can set COMPONENT_SRCS with spaces"
+    clean_build_dir
+    touch main/main2.c
+    sed -i 's/^set(COMPONENT_SRCS.*/set(COMPONENT_SRCS "main.c main2.c")/' main/CMakeLists.txt
+    idf.py build || failure "Set COMPONENT_SRCS with spaces build failed"
+    git checkout -- main/CMakeLists.txt
+    rm main/main2.c
+
     print_status "Moving BUILD_DIR_BASE out of tree"
     clean_build_dir
     OUTOFTREE_BUILD=${TESTDIR}/alt_build

+ 2 - 1
tools/cmake/components.cmake

@@ -17,6 +17,7 @@ endfunction()
 function(register_component)
     get_filename_component(component_dir ${CMAKE_CURRENT_LIST_FILE} DIRECTORY)
 
+    spaces2list(COMPONENT_SRCS)
     spaces2list(COMPONENT_SRCDIRS)
     spaces2list(COMPONENT_ADD_INCLUDEDIRS)
     spaces2list(COMPONENT_SRCEXCLUDE)
@@ -175,4 +176,4 @@ endfunction()
 function(component_get_target var component)
     get_property(prefix GLOBAL PROPERTY __IDF_COMPONENTS_PREFIX)
     set(${var} ${prefix}_${component} PARENT_SCOPE)
-endfunction()
+endfunction()