2017-06-04 67 views
0

我有一个命令在POST_BUILD步骤中使用add_custom_command()执行。这需要相当长的一段时间,但我不需要结果来运行可执行文件,我只是希望它在构建之后启动。有没有办法在后台运行这样的命令,以便可以在构建之后立即运行可执行文件而无需等待命令完成?CMake add_custom_command在后台运行

回答

0

如果您愿意使用某些特定于平台的逻辑,一种方法是使用shell脚本来启动您想要在后台运行的命令。 Unix系统一个非常原始的例子可能是这样的:

launcher.sh

#!/bin/sh 

"[email protected]"& 

的CMakeLists.txt

add_custom_command(TARGET myTarget POST_BUILD 
    COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/launcher.sh whateverYouWantToRun 
) 

你可以添加的东西等同于Windows和然后测试CMAKE_HOST_SYSTEM_NAME变量以选择使用哪个启动脚本。

+0

我已经试过这种方法没有成功。也许这是IDE等待所有衍生进程(我在XCode和Mac上的AppCode中测试过)。 –

+0

是的,感谢您的评论我意识到这个问题不是在CMake方面,我找到了解决方案https://stackoverflow.com/questions/16028336/xcode-build-phases-run-script-in-background-without -blocking建造 –