`west build` can be invoked without specifying the source directory when being invoked from the source directory itself. When using `west build` for incremental builds, then the build command will examine the CMake cache to determine the application dir by using the value of CMAKE_HOME_DIRECTORY. With sysbuild, this leads to the wrong assumption that the sysbuild itself is the application to build. Instead, have west build look for APP_DIR which points to the correct source dir when sysbuild is used. Use APPLICATION_SOURCE_DIR when APP_DIR is not set, as this indicates a no-sysbuild build. Keep CMAKE_HOME_DIRECTORY behavior as last fallback mechanism. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no> |
||
|---|---|---|
| .. | ||
| completion | ||
| fetchers | ||
| runners | ||
| tests | ||
| zspdx | ||
| bindesc.py | ||
| blobs.py | ||
| boards.py | ||
| build_helpers.py | ||
| build.py | ||
| completion.py | ||
| debug.py | ||
| export.py | ||
| flash.py | ||
| mypy.ini | ||
| README.txt | ||
| robot.py | ||
| run_common.py | ||
| run_tests.py | ||
| shields.py | ||
| sign.py | ||
| simulate.py | ||
| spdx.py | ||
| twister_cmd.py | ||
| zcmake.py | ||
| zephyr_ext_common.py | ||
This directory contains implementations for west commands which are tightly coupled to the zephyr tree. This includes 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 Zephyr-specific features. When extending this code, please keep the unit tests (in tests/) up to date. The mypy static type checker is also run on the runners package. To run these tests locally on Windows, run: py -3 run_tests.py On macOS and Linux: ./run_tests.py 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!