简体   繁体   中英

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 do 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.

Thanks for any help. Cheers!

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM