On Sunday, 12 June 2016 at 22:59:15 UTC, Jason White wrote:
- "system1: Dependency on system information" (Because tasks
with no dependencies are only run once. This could be changed
easily enough, but I don't see the point.)
Switching the compiler version seems to be a valid use case. You
might have other means to detect this, though.
- "secondary: Secondary target" (I think this is incorrect
behavior and not a feature.)
- "intermediate: Intermediate target" (Same reason as
"secondary". If this is really needed, it should be
encapsulated inside a single task.)
A possible use case is creating object files first and packing
them into a library as a second step. Then single object files
are of not much interest anymore. Imagine, you want to distribute
a build to several development machines such that their local
build environments are convinced that the build is up to date. If
object files can be treated as secondary or intermediate targets
you can save lots of unnecessary network traffic and storage.
I should probably make a pull request to add it to the shootout.
It might help advertising. :-)