Paths on Windows
On Windows, all functions that return paths, except invocation_directory()
will return \-separated paths. When not using PowerShell or cmd.exe these
paths should be quoted to prevent the \s from being interpreted as character
escapes:
ls:
echo '{{absolute_path(".")}}'
cygpath.exe is an executable included in some distributions of Unix userlands
for Windows, including Cygwin and
Git for Windows.
just uses cygpath.exe in two places:
For backwards compatibility, invocation_directory(), uses cygpath.exe to
convert the invocation directory into a unix-style /-separated path. Use
invocation_directory_native() to get the native, Windows-style path. On unix,
invocation_directory() and invocation_directory_native() both return the
same unix-style path.
cygpath.exe is used also used to convert Unix-style shebang lines into
Windows paths. As an alternative, the [script] attribute, currently unstable,
can be used, which does not depend on cygpath.exe.
If cygpath.exe is available, you can use it to convert between path styles:
foo_unix := '/hello/world'
foo_windows := shell('cygpath --windows $1', foo_unix)
bar_windows := 'C:\hello\world'
bar_unix := shell('cygpath --unix $1', bar_windows)