我想用cmake运行自定义命令.这听起来像一个非常简单的任务/问题,但令人沮丧的是找到一个例子是多么困难.
这是我正在尝试做的事情:
$ cmake .
$ make
> Hello World! (Output)
Run Code Online (Sandbox Code Playgroud)
在Gnu中,这非常容易:
bar:
echo Hello World!
Run Code Online (Sandbox Code Playgroud)
但我正试图在cmake中这样做.基于我一直在阅读的内容,我应该能够使用以下CMakeLists.txt文件:
cmake_minimum_required(VERSION 3.6)
project(foo)
add_custom_target(bar)
add_custom_command(
TARGET bar
COMMAND "echo Hello World!"
)
Run Code Online (Sandbox Code Playgroud)
如果我打电话,目前没有工作要做make.我需要明确地打电话make bar.我如何添加bar到all配方?
我试过添加add_dependency(foo bar),但是foo不存在的目标.如果有一些超级目标,我不知道那将是完美的.然后我可以使用它作为我的自定义命令的TARGET而不是打扰bar.
当自定义命令实际上生成一些内容时,而不是仅打印“Hello World”,那么以下内容可能是合适的。
add_custom_target(Work ALL DEPENDS that.txt)
add_custom_command(
OUTPUT that.txt
COMMAND generator --from this.txt --produce that.txt
DEPENDS this.txt
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5770 次 |
| 最近记录: |