Writing Custom Commands
Let's learn about the non-target mechanism to create custom artifacts that can be used in all targets.
Writing custom commands
There's also an interesting non-target mechanism to create custom artifacts that can be used in all actual targets: custom commands
Using custom targets has one drawback: as soon as we add them to the ALL
target or start depending on them for other targets, they will be built every single time (we may still enable them in an if
block to limit that). Sometimes, this is what we want, but there are cases when custom behavior is necessary to produce files that shouldn't be recreated without reason:
Generating a source code file that another target depends on
Translating another language into C++
Executing a custom action immediately before or after another target was built
There are two signatures for a custom command. The first one is an extended version of add_custom_target()
:
Get hands-on with 1400+ tech skills courses.