zephyr/cmake
Torsten Rasmussen 3dd65a7663 runners: remove dependencies from runners
Today, there is a build target is added for each runner: flash, debug,
debugserver, attach.

And those runners will have a dependency to Zephyr logical target that
is built before invoking `west <runner>`.

This design has some flaws, mainly that additional dependencies directly
on the target will not be built when running `west <runner>` directly.
That generator expressions cannot be used for the DEPENDS argument.

Instead, the build target `<runner>` will not have any dependencies, and
will raise a build error if a dependency is added to the target.
Due to how `add_dependencies()` work, this must be done as a build time
check, and not configure time check.

`west <runner>` will invoke a build before executing the runner, and
this way ensure the build target is up-to-date, which again removes the
need for a dedicated `west_<runner>_target`.

It also minimizes the risk of developer errors, as developers no longer
need to consider the need for adding additional dependencies.
If a custom target is part of the default `all` build, then it's ensured
to be up-to-date.

Fixes: Issue reported on slack.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2021-04-19 15:35:30 +02:00
..
app runners: remove dependencies from runners 2021-04-19 15:35:30 +02:00
bintools toolchain: llvm: Find strip command 2021-04-17 21:03:13 -04:00
compiler cmake: gcc/clang: enable colour diagnostics in terminal output 2021-04-16 12:20:53 +02:00
emu cmake: emu: Add arm fvp emulator 2021-04-13 07:47:44 -04:00
flash runners: remove dependencies from runners 2021-04-19 15:35:30 +02:00
ide
linker toolchain: add support Intel oneApi toolchain based on llvm 2021-03-25 08:54:10 -04:00
makefile_exports cmake: using zephyr_get_compile_options_for_lang_as_string for export 2020-12-15 08:37:54 -05:00
reports scripts: size_report: Add a depth parameter to CMakeLists.txt 2021-04-14 07:05:58 -04:00
toolchain cmake: pick up some crumbs after the arm/arm64 split 2021-04-01 01:03:04 -05:00
usage boards/shields: re-work handling in cmake and west 2021-01-15 15:07:49 -05:00
util
boards.cmake boards/shields: re-work handling in cmake and west 2021-01-15 15:07:49 -05:00
ccache.cmake
cfb.cmake cmake: using ${ZEPHYR_BASE} instead of $ENV{ZEPHYR_BASE} 2020-03-27 16:23:46 +01:00
dts.cmake cmake: dtc: Validate EXTRA_DTC_FLAGS flags 2021-03-03 17:29:29 +01:00
extensions.cmake cmake: allow binary directory to be specified 2021-04-01 14:08:08 +02:00
extra_flags.cmake cmake: extra_flags: fix EXTRA_CPPFLAGS being applied as macros 2019-12-13 13:23:40 -05:00
gcc-m-cpu.cmake cmake: arm64: Add Cortex-R82 in toolchain option 2021-04-13 07:47:44 -04:00
generic_toolchain.cmake cmake: twister: Using common script for toolchain setting verification 2021-02-04 20:05:05 -05:00
git.cmake cmake: explain BUILD_VERSION and KERNEL_VERSION_* 2019-05-09 11:52:05 +02:00
hex.cmake
host-tools.cmake cmake: add IMGTOOL optional dependency 2020-09-01 13:33:46 +02:00
kconfig.cmake cmake: kconfig: Remove unused extra dtc flags 2021-04-01 07:31:50 -05:00
kobj.cmake cmake: improved handling of output and byproducts in CMake 2021-02-14 18:09:24 -05:00
mcuboot.cmake cmake: mcuboot: confirmed images needs to be padded 2020-09-04 12:00:04 +02:00
pristine.cmake cmake: pristine.cmake requires SOURCE_DIR and BINARY_DIR as arguments 2021-01-23 08:31:13 -05:00
python.cmake cmake: find python3 on windows when multiarch are installed 2020-05-13 12:13:36 +02:00
shields.cmake boards/shields: re-work handling in cmake and west 2021-01-15 15:07:49 -05:00
target_toolchain.cmake cmake: use the toolchain path, id and version as extended signature. 2020-12-14 11:56:00 -05:00
target_toolchain_flags.cmake cmake: use the toolchain path, id and version as extended signature. 2020-12-14 11:56:00 -05:00
verify-toolchain.cmake cmake: twister: Using common script for toolchain setting verification 2021-02-04 20:05:05 -05:00
version.cmake cmake: Added possibility to disable the printing of version 2020-03-27 16:23:46 +01:00
west.cmake cmake: west: do not print error if west topdir fails 2021-03-17 11:28:14 +01:00
zephyr_module.cmake cmake: modules: Remove duplicates only from existing ZEPHYR_MODULE_NAMES 2021-03-09 07:04:09 -05:00