meson
meson copied to clipboard
Fix an error when using /MANIFEST:NO with VS backend
Closes #13041
#12472 disabled the EmbedManifest node in .vcxproj.
But it conflicts with the /MANIFEST:NO option, or the GenerateManifest node should be disabled.
This PR make meson set false to GenerateManifest when target.link_args disables the manifest creation with /MANIFEST:NO.
I noticed my code ignores global and project args.
I'd prefer to revert #12472 rather than check linker options...
meson 1.3.2 already supports custom manifests because /MANIFEST:NO can disable the manifest embedding.
As mentioned in #13041, you will get warnings when disabling some manifest options but you can just ignore them and it's the simplest way to fix the issue.
Replaced the list comprehensions with a for loop. and fixed a bug that it ignored some linker options e.g. global link arguments.
@dcbaker I think this one is ready
Please remember in future that PRs like this should NOT be merged until the fixup commit is squashed into the original commit.