mirror of
https://github.com/espressif/esp-idf.git
synced 2024-09-20 00:36:01 -04:00
09e50b27ed
COMPONENT_DIRS and EXTRA_COMPONENT_DIRS should be defined as CMake lists, using 'set' or 'list' commands. Some applications written for earlier versions of ESP-IDF used to define these variables as space separated strings. For example, the following is correct: set(EXTRA_COMPONENT_DIRS path/to/components path/to/more/components) The following is not correct: set(EXTRA_COMPONENT_DIRS "${EXTRA_COMPONENT_DIRS} component1") set(EXTRA_COMPONENT_DIRS "${EXTRA_COMPONENT_DIRS} component2") The string "component1 component2" may indicate a single directory name with a space, or two directory names separated by space. However due to the fact that such way of defining EXTRA_COMPONENT_DIRS was supported in IDF 4.3 and earlier, we need to provide backward compatibility for it. This commit introduces a new script, split_paths_by_spaces.py, which is invoked if EXTRA_COMPONENT_DIRS or COMPONENT_DIRS variable contains spaces. The script tries to determine if each space should be interpreted as a separator or as part of the directory name. When this cannot be done unambiguously, the script reports an error. In all cases when space separators are detected, the script reports a warning, and prints instructions for fixing the CMakeLists.txt. Breaking change in this commit: specifying non-existent directories in COMPONENT_DIRS or EXTRA_COMPONENT_DIRS is no longer allowed. |
||
---|---|---|
.. | ||
python_packages | ||
build_example_dirs.txt | ||
build_pytest_apps.py | ||
build_template_app.sh | ||
check_api_violation.sh | ||
check_artifacts_expire_time.py | ||
check_build_warnings.py | ||
check_callgraph.py | ||
check_codeowners.py | ||
check_copyright_config.yaml | ||
check_copyright_ignore.txt | ||
check_copyright.py | ||
check_deprecated_kconfigs.py | ||
check_examples_rom_header.sh | ||
check_executables.py | ||
check_idf_version.sh | ||
check_kconfigs.py | ||
check_ldgen_mapping_exceptions.txt | ||
check_public_headers_exceptions.txt | ||
check_public_headers.py | ||
check_readme_links.py | ||
check_rules_yml.py | ||
check_soc_struct_headers.py | ||
check_tools_files_patterns.py | ||
check_type_comments.py | ||
checkout_project_ref.py | ||
ci_fetch_submodule.py | ||
ci_get_mr_info.py | ||
clang_tidy_dirs.txt | ||
configure_ci_environment.sh | ||
deploy_docs.py | ||
envsubst.py | ||
exclude_check_tools_files.txt | ||
executable-list.txt | ||
find_apps_build_apps.sh | ||
fix_empty_prototypes.sh | ||
get_supported_examples.sh | ||
get-full-sources.sh | ||
idf_ci_utils.py | ||
mirror-submodule-update.sh | ||
multirun_with_pyenv.sh | ||
mypy_ignore_list.txt | ||
push_to_github.sh | ||
setup_python.sh | ||
sonar_exclude_list.txt | ||
static-analysis-rules.yml | ||
test_autocomplete.py | ||
test_build_system_cmake.sh | ||
test_check_kconfigs.py | ||
test_configure_ci_environment.sh | ||
test_reproducible_build.sh | ||
utils.sh |