【问题标题】:cmake "make run"cmake“运行”
【发布时间】:2014-06-05 21:03:24
【问题描述】:

我对这个问题域中的术语有点不确定,当我尝试搜索时这是一个问题。

我在构建过程中使用 CMake。我想创建一个 Makefile 目标,这样我就可以使用make run 来运行给定的进程(特别是我刚刚用make 构建的那个)。我意识到我可以只制作一个 shell 脚本,或者只是通过输入命令来运行该命令。如果我自己编写 Makefile,我会这样做:


run:
    ./path/to/binary

不过,我自己从来没有写过Makefile——它是由cmake 生成的——我不确定在我的CMakeLists.txt 中放入什么来让它生成所需的make run 目标。

我找到了cmake 命令'execute_process',但这似乎不是我想要的——我不想在构建过程中实际运行任何东西。

额外:此外,我希望能够执行以下操作:


CMAKE_COMMAND_ADD_MAKEFILE_TARGET ( ${CMAKE_PROJECT_DIR}/binary )

也就是说,如果可能的话,使用 cmake 变量添加path/to/binary

【问题讨论】:

  • 那么你上面写的目标有什么问题?
  • 哎呀,没说清楚 - 我不是在写我的 Makefile,我正在使用 CMake。应相应地编辑问题。

标签: cmake


【解决方案1】:

您正在寻找add_custom_target。例如:

add_custom_target(run
    COMMAND binary
    DEPENDS binary
    WORKING_DIRECTORY ${CMAKE_PROJECT_DIR}
)

【讨论】:

  • 你测试过这个吗?我无法让${CMAKE_PROJECT_DIR}/binary 工作,而且我不确定是否只是我把它搞砸了——不过,我已经想出了如何使用add_custom_target 来做我想做的事情。
  • 对不起,我没试过。现在已经修复了。
  • 您可能需要写make -s run/fast 以避免重新处理文件和打印“进入目录”等。
猜你喜欢
  • 1970-01-01
  • 2011-02-25
  • 1970-01-01
  • 2011-05-05
  • 1970-01-01
  • 1970-01-01
  • 2011-06-20
相关资源
最近更新 更多