New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add @BASENAMES@ and @PLAINNAMES@ to custom_target #10498
base: master
Are you sure you want to change the base?
Add @BASENAMES@ and @PLAINNAMES@ to custom_target #10498
Conversation
This is a really bad idea, as ninja will be unable to create a reliable DAG (since it's considering '.' (the directory) as a point in the DAG. Unfortunately, there are projects in the wild recommending this, so we can't just make it a hard error.
Which is useful for targets with multiple inputs, but which which the @basename@ and @Plainname@ rules to be applied to each output.
Codecov Report
@@ Coverage Diff @@
## master #10498 +/- ##
===========================================
- Coverage 68.74% 43.92% -24.83%
===========================================
Files 406 406
Lines 87868 87485 -383
Branches 19530 18554 -976
===========================================
- Hits 60409 38425 -21984
- Misses 22886 45402 +22516
+ Partials 4573 3658 -915
Continue to review full report at Codecov.
|
Actually, these projects just want to place output files in subdirectories. It's not technically required, but the transpiler cmd in question simultaneously documents the meson snippet using In theory, the real solution here is |
I thought more about this, I think instead of adding a new |
There are currently projects in the wild (I don't want to shame them), who are recommending this:
of course, this isn't what they actually want, they just don't want to have to list
['a.out', 'b.out', 'c.out']
in their output lines. So lets make it easy to do the right thing:With the plural form passed (it is allowed only to be passed as an exclusve output argument), meson will replace that with the @Plainname@ applied to each output, making it simple to handle a custom_target with multiple outputs that follow the @basename@ or @Plainname@ scheme.
still needs tests, but I figure we're going to bikeshed about the naming for a while, so...