繁体   English   中英

在构建时从CMake运行cscope

[英]Running cscope from CMake at build time

我正在使用Ubuntu Linux。

我一直在尝试从项目目录中运行“ make”时运行以下cscope命令,因此它在我创建项目时重新编译cscope并获取更新的名称信息。

cscope -b -q -U -R

根据我的研究和一点阅读,当您使用CMakeLists.txt中的add_custom_command函数执行“ make”操作时,我应该能够使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重载,并创建一个依赖于项目的ALL或主输出文件的自定义目标,但这也不起作用。

这似乎是问题所在-当需要将CMake命令传递给目标时 ,它们会使用add_executableadd_libraryadd_custom_target任何一个add_executable您先前创建的目标的名称,但不一定映射到实际该命令生成的工件文件。

这是我对问题的看法,它似乎在生成目录中生成了三个cscope文件。

cmake_minimum_required(VERSION 3.3 FATAL_ERROR)
project(te)

add_executable(main main.cpp asdf.cpp)
add_custom_command(TARGET main POST_BUILD COMMAND cscope -b -q -U -R)

请注意,这里的目标名称是我作为add_executable命令的第一个参数传递的add_executable

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM