Starting with Python 3.8 paths to mapped network drives are resolved
to their real path in the system, e.g.: "Z:\path" becomes "\\path" which
causes weird errors in the default terminal with a message that UNC
paths are not supported
* Add new option --skip-packages for check command
Check tools might fail if they're not able to preprocess source
files, for example, Cppcheck uses a custom preprocessor that is
not able to parse complex preprocessor code in zephyr framework).
Instead user can specify this option to skip headers included from
packages and only check project sources.
* Fix toolchain built-in include paths order
C++ and fixed directories should have higher priority
* Refactor check feature
The main purpose is to prepare a more comprehensive build environment.
It's crucial for cppcheck to be able to check complex frameworks like
zephyr, esp-idf, etc. Also detect a special case when cppcheck fails to check
the entire project (e.g. a syntax error due to custom preprocessor)
* Add new test for check feature
Tests ststm32 platform all tools and the main frameworks
* Update check tools to the latest available versions
* Test check tools and Zephyr framework only with Python 3
* Tidy up code
* Add history entry
* Add paths to libraries specified via lib_extra_dirs option
Besides, global folders in SRC_LIST seem a bit unnecessary
since there might be unused libraries in these folders
* Refactor processing of includes when exporting IDE/Editor projects
Split includes according to their source. That will help export includes in a more flexible way.
For example some IDEs don't need include paths from toolchains
* Add new record to history log
* Typo fix
* Fix resolving of absolute path for toolchain
By placing the `where_is_program` call into this function, all references to the compiler will be made absolute, instead of just ones in the top environment. Previously, all references to the compiler for user source code would not use the full path in the compilation database, which broke `clangd`'s detection of system includes.
* Linting issue
* Wrap flags with whitespace chars when exporting data for IDEs
* Update IDEs templates
Take into account compiler flags that can contain whitespace characters (e.g. -iprefix)
* Update template for VSCode
* Add history record