如何在完成cmake后打印消息?

Gen*_*nie 6 post message makefile build cmake

我正在尝试使用CMake完成构建过程后打印消息.

我只想在make命令完成后通知用户没有任何错误.

我该怎么做?我试过,add_custom_target()但我无法选择何时运行.

此外,我试过add_custom_command(),再次它没有给我正确的结果.

任何的想法?

提前感谢您的想法.

小智 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)

该自定义目标取决于您之前定义的所有目标的列表,您确保它将最后运行.


Joh*_*ohn 7

要在构建特定目标后打印消息,例如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_BUILDPRE_LINK来实现其他目的,请参阅文档

(您在评论中指定,您希望在所有目标之后打印一条消息,但最初的问题不太精确。因此,对于在这里查看的人来说,它可能具有一定的价值。)