了解CMake阶段

时间:2013-08-19 15:28:19

标签: cmake

我正在编写应该执行以下操作的CMake脚本:

  1. 制作一个静态库。
  2. 使用python脚本处理上述库文件。
  3. 请注意,构建静态库后,应该完成。据我所知,add_custom_command不起作用,因为它在配置过程中被处理。我尝试使用execute_process,如下所示:

    EXECUTE_PROCESS(
      COMMAND ${SCRIPT} --source /my/path/myLib.a --dest ${TEMP_DIR} 
      WORKING_DIRECTORY ${TEMP_DIR} 
    )
    

    它似乎也不起作用有两个原因:1)它不识别变量; 2)即使我放置了硬编码路径,它也会被过早调用。

    那么完成上述顺序的权利是什么?

1 个答案:

答案 0 :(得分:1)

不,反之亦然。生成期间 execute_process ,编译期间 add_custom_command 。只需将其添加到目标(POST_BUILD - 构建目标后):

add_custom_command(
    TARGET
    ${target}
    POST_BUILD
    COMMAND
    ${cmd} # your python script
    WORKING_DIRECTORY
    ${YOUR_DIR} # command working directory
    COMMENT
    "your comments" # you will see this message, when python script invoke
)