Răsfoiți Sursa

cmake: set component properties

Renz Christian Bagaporo 6 ani în urmă
părinte
comite
87ebdaa74e
2 a modificat fișierele cu 10 adăugiri și 0 ștergeri
  1. 8 0
      tools/ci/test_build_system_cmake.sh
  2. 2 0
      tools/cmake/component.cmake

+ 8 - 0
tools/ci/test_build_system_cmake.sh

@@ -510,6 +510,14 @@ endmenu\n" >> ${IDF_PATH}/Kconfig;
     mv CMakeLists.txt.bak CMakeLists.txt
     rm -rf CMakeLists.txt.bak
 
+    print_status "Component properties are set"
+    clean_build_dir
+    cp CMakeLists.txt CMakeLists.txt.bak
+    printf "\nidf_component_get_property(srcs main SRCS)\nmessage(STATUS SRCS:\${srcs})" >> CMakeLists.txt
+    (idf.py reconfigure | grep "SRCS:$(realpath main/main.c)") || failure "Component properties should be set"
+    rm -rf CMakeLists.txt
+    mv CMakeLists.txt.bak CMakeLists.txt
+    rm -rf CMakeLists.txt.bak
 
     print_status "All tests completed"
     if [ -n "${FAILURES}" ]; then

+ 2 - 0
tools/cmake/component.cmake

@@ -479,6 +479,8 @@ function(idf_component_register)
     # COMPONENT_TARGET is deprecated but is made available with same function
     # as COMPONENT_LIB for compatibility.
     set(COMPONENT_TARGET ${component_lib} PARENT_SCOPE)
+
+    __component_set_properties()
 endfunction()
 
 #