CMake: how do i depend on output from a custom target?
A traditional Make process that I cannot modify produces a target on which I must do some post-processing.
I use add_custom_target
to force the Makefile to always run.
I use add_custom_command
for my post-processing steps.
The problem is that add_custom_target
cannot produce an output as far as CMake is concerned. So, how 开发者_如何学Godo I setup a dependency for the post-processing steps? I don't want to run these steps unless the external Make actually updated its target.
The add_custom_command
cannot use the name of the add_custom_target
as a DEPENDS
. I tried this and it assumes that the add_custom_target
name is just a file and cannot find it.
Make the add_custom_command call depend on a file that changes when "the external make actually updated its target." The custom command will only run if one of its DEPENDS is newer than its OUTPUT.
The DEPENDS for CMake add_custom_command calls work best with older versions of CMake when they are full path file name references. More recent versions of CMake should work with file name or CMake target name references.
精彩评论