Fix two issues: 1. The script assumes the default CMake generator build tool platform is installed. On Linux at least, that's Make instead of Ninja, but Make might not be installed since Zephyr recommends Ninja. On Windows, that might be VS Code or nmake. Calling `cmake -P pristine` instead of `cmake --build <path> --target pristine` has the benefit of removing the dependency on a build command, and hence the default generator is not relevant. 2. It also assumes run_cmake() returns control, and therefore pristine can be run. However, if the cmake command fails hard (say, due to issue #1 before this patch), run_cmake() throws an exception instead. Fix that by trying to run the pristine target in a finally block instead, and adding some manual cleanup steps in case the build system is in a bad state and pristine fails too. Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no> Signed-off-by: Torsten Rasmussen <torsten.rasmussen@nordicsemi.no> |
||
|---|---|---|
| .. | ||
| completion | ||
| runners | ||
| tests | ||
| boards.py | ||
| build_helpers.py | ||
| build.py | ||
| completion.py | ||
| debug.py | ||
| export.py | ||
| flash.py | ||
| README.txt | ||
| run_common.py | ||
| sign.py | ||
| zcmake.py | ||
| zephyr_ext_common.py | ||
This directory contains implementations for west commands which are tightly coupled to the zephyr tree. Currently, those are the build, flash, and debug commands. Before adding more here, consider whether you might want to put new extensions in upstream west. For example, any commands which operate on the multi-repo need to be in upstream west, not here. Try to limit what goes in here to just those files that change along with Zephyr itself. When extending this code, please keep the unit tests (in tests/) up to date. You can run the tests with this command from this directory: $ PYTHONPATH=$PWD py.test Windows users will need to find the path to .west/west/src in their Zephyr installation, then run something like this: > cmd /C "set PYTHONPATH=path\to\zephyr\scripts\west_commands && py.test" Note that these tests are run as part of Zephyr's CI when submitting an upstream pull request, and pull requests which break the tests cannot be merged. Thanks!