Open lb90 opened 2 years ago
I really have to wonder why the custom_target description field is being used for something other than the log descriptions (for the ninja backend this is only used to control the "generating XXX with a custom command" message).
Hi! I believe it's because in MSBuild every target is usually defined in its own project file (.proj, .vcxproj, etc.) and those project files are all referenced by the main solution file (.sln), whereas ninja uses a single build.ninja file.
For the custom target, a .proj file has to be created, but then we have to solve the issue of allowed filename characters
That sounds so painful... is it not possible to use the output filename instead of the description?
is it not possible to use the output filename instead of the description?
Looks like a great idea to me!
The VS backend creates files or directories using the names given to custom targets, etc. Anyway Windows is more strict than Unix in that a few characters cannot be used in file or directory names.
The issue can be experienced with that
meson.build
sample:And
main.c
:When running Meson we get:
Note that there's no issue with using spaces in filenames, as MSBuild / Visual Studio can handle spaces just fine. The problem is in the use of the colon character. CreateFile interprets the colon as a file stream specifier.
See https://gitlab.gnome.org/GNOME/gtk/-/issues/5280