Describe the bug
On Windows, the string returned by exe.full_path() uses forward slashes as the path separator.
In particular, this breaks WrapDB subprojects using meson.override_find_program() (e.g. in mesonbuild/wrapdb#2311) because WrapDB expects overridden paths to start with meson.global_source_root() or meson.global_build_root(), both of which use backslashes.
To Reproduce
project('dnm', 'c')
exe = executable('dnm', 'dnm.c')
message(exe.full_path())
Expected behavior
The returned path uses backslashes as the path separator, as it did in Meson 1.8.0. full_path() is typically used in cases where the exact format of the string matters, since it's about to be passed to tools outside Meson's control.
system parameters
- Is this a cross build or just a plain native build (for the same computer)?
native
- what operating system (e.g. MacOS Catalina, Windows 10, CentOS 8.0, Ubuntu 18.04, etc.)
Windows Server 2022
- what Python version are you using e.g. 3.8.0
3.9.13
1.9.0.rc1
- what
ninja --version if it's a Ninja build
1.13.1
Describe the bug
On Windows, the string returned by
exe.full_path()uses forward slashes as the path separator.In particular, this breaks WrapDB subprojects using
meson.override_find_program()(e.g. in mesonbuild/wrapdb#2311) because WrapDB expects overridden paths to start withmeson.global_source_root()ormeson.global_build_root(), both of which use backslashes.To Reproduce
Expected behavior
The returned path uses backslashes as the path separator, as it did in Meson 1.8.0.
full_path()is typically used in cases where the exact format of the string matters, since it's about to be passed to tools outside Meson's control.system parameters
native
Windows Server 2022
3.9.13
meson --version1.9.0.rc1
ninja --versionif it's a Ninja build1.13.1