CMake:为什么add_custom_command(...)中的POST_BUILD不起作用?

时间:2016-04-22 06:53:25

标签: makefile cmake

使用PRE_BUILD |时出现问题PRE_LINK |命令POST_BUILD中的add_custom_command(...)。当我使用POST_BUILD时,我发现命令将在构建目标之前执行,如下所示:

[root@VM_33_35_centos build]# make 
Scanning dependencies of target main 
[100%] Building C object CMakeFiles/main.dir/main.c.o 
Linking C executable main 
This is pre build 
This is post build 
[100%] Built target main 

CMakeLists.txt的内容是:

cmake_minimum_required(VERSION 2.8) 
add_executable(main main.c) 
add_custom_command(TARGET main 
                     PRE_BUILD 
                    COMMAND echo "This is pre build " 
        ) 
add_custom_command(TARGET main 
                    POST_BUILD 
                   COMMAND echo "This is post build" 
        ) 

为什么echo "This is post build"第8行的命令CMakeLists.txt在第7行(Linux命令)上的[100%] Built target main消息之后没有执行?

1 个答案:

答案 0 :(得分:1)

添加了rm(list = ls()) library(shiny) library(shinyBS) ui <- fluidPage( tags$script(HTML('Shiny.addCustomMessageHandler("jsCode",function(message) {eval(message.value);});')), bsModal("ThankYou", "Message", "",tags$p(tags$h1("Thank you for clicking", style = "color:red", align = "center")), size = "small"), actionButton("do", "Click Me") ) server <- function(input, output, session) { observeEvent(input$do, { activate_modal <- "$('#ThankYou').modal('show')" session$sendCustomMessage(type='jsCode', list(value = activate_modal)) }) } shinyApp(ui, server) 签名的命令变为目标的一部分,可以假定在执行给定命令后,仅构建目标(add_custom_command(TARGET)

Built target main关键字

的说明
  

在构建目标后运行

表示在创建目标文件(在您的情况下为可执行文件POST_BUILD)之后执行命令。此文件是作为链接过程的一部分创建的,在行main之后开始。