zephyr/cmake
Torsten Rasmussen 14b6314897 cmake: fixing toolchain_parse_make_rule to correctly handle `\` files
Fixes: #37637

toolchain_parse_make_rule() parses depfiles and converted `\\` to the
CMake list separator `;`.

However, gcc -M might create depfiles with windows path separator `\`
causing this conversion to fail, as a path like:
c:\...\zephyr\samples\drivers\led_ws2812\nrf52-bindings.h

resulting in a file list as:
c:;...;zephyr;samples;drivers;led_ws2812;nrf52-bindings.h

which results in a CMake configure dependency to be added to `C:`.
As C: is always newer than the build.ninja file, this resulted in
continues CMake re-invocation.

As a small side-note, the `\` in file name did only occur in situations
where a relative past had been used elsewhere in the build system, such
as here:
https://github.com/zephyrproject-rtos/zephyr/blob/\
c3050a5aab1e86d02642eb4c6a027419e6a3a096/samples/drivers/led_ws2812/\
boards/nrf52dk_nrf52832.overlay#L9

To ensure proper handling of files, then all files are converted to
CMake paths, that is with forward slashes: `/`

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2021-09-11 04:49:38 -04:00
..
app cmake: remove deprecated `set_conf_file()` support 2021-09-03 07:20:17 -04:00
bintools armclang: bintools support for armclang (arm-ds/Keil) 2021-08-30 08:54:23 -04:00
compiler cmake/compiler/xcc: sched: Support XCC inlining semantics 2021-09-08 09:28:31 -04:00
emu boards: fvp_base_revc_2xaemv8a: permit running Zephyr at EL1NS 2021-09-06 14:11:32 -04:00
flash scripts: runners: openocd: Enable thread awareness 2021-08-27 06:44:45 -04:00
ide
linker ARC: MWDT: get rid of MWDT startup libs 2021-09-01 17:08:32 -04:00
linker_script cmake: linker: arm: memory regions from devicetree added 2021-08-30 08:54:23 -04:00
makefile_exports
reports build: reports: publish all reports 2021-07-21 14:54:30 +03:00
toolchain armclang: ARM Compiler C library support 2021-08-30 08:54:23 -04:00
usage
util
boards.cmake cmake: increase minimal required version to 3.20.0 2021-08-20 09:47:34 +02:00
ccache.cmake
cfb.cmake
dts.cmake cmake: dts: import devicetree symbols into CMake 2021-08-25 20:28:26 -04:00
extensions.cmake cmake: fixing toolchain_parse_make_rule to correctly handle `\` files 2021-09-11 04:49:38 -04:00
extra_flags.cmake
gcc-m-cpu.cmake arch: arm: cortex_m: Add ARMv8.1-M MVE configs 2021-08-14 20:29:57 -04:00
generic_toolchain.cmake
git.cmake
hex.cmake
host-tools.cmake
kconfig.cmake armclang: ARM Compiler C library support 2021-08-30 08:54:23 -04:00
kobj.cmake
mcuboot.cmake kconfig: Add option for encryption of binaries 2021-08-26 21:15:54 -04:00
pristine.cmake
python.cmake
shields.cmake
target_toolchain.cmake scripts: gen_handles.py: take device start symbol as argument. 2021-08-30 08:54:23 -04:00
target_toolchain_flags.cmake scripts: gen_handles.py: take device start symbol as argument. 2021-08-30 08:54:23 -04:00
verify-toolchain.cmake cmake: Set minimum required Zephyr SDK version to 0.13 2021-08-09 08:51:24 -05:00
version.cmake
west.cmake
zephyr_module.cmake cmake: add a comment header to zephyr_settings.txt 2021-08-10 07:37:19 -04:00