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 license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
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 cmake: using zephyr_get_compile_options_for_lang_as_string for export 2020-12-15 08:37:54 -05:00
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 boards/shields: re-work handling in cmake and west 2021-01-15 15:07:49 -05:00
util license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
boards.cmake cmake: increase minimal required version to 3.20.0 2021-08-20 09:47:34 +02:00
ccache.cmake license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
cfb.cmake cmake: using ${ZEPHYR_BASE} instead of $ENV{ZEPHYR_BASE} 2020-03-27 16:23:46 +01:00
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 cmake: extra_flags: fix EXTRA_CPPFLAGS being applied as macros 2019-12-13 13:23:40 -05:00
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 cmake: twister: Using common script for toolchain setting verification 2021-02-04 20:05:05 -05:00
git.cmake cmake: cleanup version printing during CMake configure time 2021-05-07 20:50:02 -04:00
hex.cmake license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
host-tools.cmake cmake: add IMGTOOL optional dependency 2020-09-01 13:33:46 +02:00
kconfig.cmake armclang: ARM Compiler C library support 2021-08-30 08:54:23 -04:00
kobj.cmake cmake: improved handling of output and byproducts in CMake 2021-02-14 18:09:24 -05:00
mcuboot.cmake kconfig: Add option for encryption of binaries 2021-08-26 21:15:54 -04: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: use WEST_PYTHON as a preferred python installation if defined. 2021-04-27 13:31:23 -04:00
shields.cmake boards/shields: re-work handling in cmake and west 2021-01-15 15:07:49 -05:00
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 cmake: cleanup version printing during CMake configure time 2021-05-07 20:50:02 -04: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: add a comment header to zephyr_settings.txt 2021-08-10 07:37:19 -04:00