小智 7
您确实可以执行以下操作:
add_custom_target( FinalMessage ALL
${CMAKE_COMMAND} -E cmake_echo_color --cyan "Compilation is over!"
COMMENT "Final Message" )
add_dependencies( FinalMessage ${ALL_TARGETS} )
Run Code Online (Sandbox Code Playgroud)
该自定义目标取决于您之前定义的所有目标的列表,您确保它将最后运行.
要在构建特定目标后打印消息,例如make yourtarget,您可以使用
add_custom_command(TARGET yourtarget POST_BUILD
COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --cyan
"Message after yourtarget has been built.")
Run Code Online (Sandbox Code Playgroud)
除了 之外POST_BUILD,您还可以使用PRE_BUILD或PRE_LINK来实现其他目的,请参阅文档。
(您在评论中指定,您希望在所有目标之后打印一条消息,但最初的问题不太精确。因此,对于在这里查看的人来说,它可能具有一定的价值。)