【发布时间】:2016-09-27 04:42:47
【问题描述】:
我正在使用 Ubuntu Linux。
当我从我的项目目录运行“make”时,我一直在尝试运行以下 cscope 命令,因此它会重新编译 cscope 并在我创建项目时获取更新的名称信息。
cscope -b -q -U -R
根据我的研究和一些阅读,当您使用 CMakeLists.txt 中的 add_custom_command 函数执行“制作”时,我应该能够让 CMake 运行命令。
但是,它的许多尝试和变体都没有成功。是否可以使用add_custom_command 按我的意愿运行它?
只是这样做似乎不起作用:
add_custom_command(OUTPUT
${CMAKE_CURRENT_BINARY_DIR}/cscope.in.out
${CMAKE_CURRENT_BINARY_DIR}/cscope.out
${CMAKE_CURRENT_BINARY_DIR}/cscope.po.out
COMMAND cscope -b -q -U -R)
我也尝试过使用 add_custom_command 的 TARGET 重载,并创建一个依赖于 ALL 或项目主输出文件的自定义目标,但这也无济于事。
理想情况下,这将在项目建成后运行,如果能告诉我我做错了什么,或者如果这完全可以做到这一点,我将不胜感激?
【问题讨论】:
-
add_custom_command在某些 target 依赖于命令生成的文件之前是无用的。 -
你真的查到最新的
add_custom_commanddocumentation了吗?
标签: linux cmake cmake-custom-command