Explorar o código

Merge branch 'bugfix/cmake_export_ver_during_reqs_expansion_v4.2' into 'release/v4.2'

cmake: set IDF_VERSION_* variables at requirement expansion stage (v4.2)

See merge request espressif/esp-idf!14044
Anton Maklakov %!s(int64=4) %!d(string=hai) anos
pai
achega
0f095e4732

+ 7 - 0
tools/ci/test_build_system_cmake.sh

@@ -139,6 +139,13 @@ function run_tests()
     rm -f sdkconfig
     rm -f ${TESTDIR}/template/version.txt
 
+    print_status "Use IDF version variables in component CMakeLists.txt file"
+    clean_build_dir
+    (echo -e "if (NOT IDF_VERSION_MAJOR)\n message(FATAL_ERROR \"IDF version not set\")\n endif()" \
+        && cat main/CMakeLists.txt) > main/CMakeLists.new && mv main/CMakeLists.new main/CMakeLists.txt
+    idf.py reconfigure || failure "Failed to use IDF_VERSION_MAJOR in component CMakeLists.txt"
+    git checkout -- main/CMakeLists.txt
+
     print_status "Moving BUILD_DIR_BASE out of tree"
     clean_build_dir
     OUTOFTREE_BUILD=${TESTDIR}/alt_build

+ 1 - 0
tools/cmake/scripts/component_get_requirements.cmake

@@ -12,6 +12,7 @@ endfunction()
 
 idf_build_get_property(idf_path IDF_PATH)
 include(${idf_path}/tools/cmake/utilities.cmake)
+include(${idf_path}/tools/cmake/version.cmake)
 
 function(__component_get_property var component_target property)
     set(_property __component_${component_target}_${property})