运行 构建时来自 CMake 的 cscope
Running cscope from CMake at build time
我正在使用 Ubuntu Linux。
当我从我的项目目录 运行 "make" 时,我一直在尝试将以下 cscope 命令获取到 运行,因此它会重新编译 cscope 并在我时获取更新的名称信息制作我的项目。
cscope -b -q -U -R
根据我的研究和一些阅读,当你使用 [=37 中的 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
或项目的主要输出文件的自定义目标,但这并没有也什么都不做。
理想情况下,这会 运行 在项目构建完成后,如果可以告诉我我做错了什么,或者如果这完全可以做到这一点,我将不胜感激?
I've tried using the TARGET overload of add_custom_command
as well, and making a custom target with a dependency on either ALL
or the main output file of the project, but that doesn't do anything either.
这似乎是问题所在 - 当 CMake 命令需要传递 target 时,它们指的是您之前使用以下任何方法创建的目标的名称add_executable
、add_library
或 add_custom_target
,不一定映射到命令生成的实际项目文件。
这是我对这个问题的看法,它似乎在构建目录中生成了三个 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
命令的任何内容。
我正在使用 Ubuntu Linux。
当我从我的项目目录 运行 "make" 时,我一直在尝试将以下 cscope 命令获取到 运行,因此它会重新编译 cscope 并在我时获取更新的名称信息制作我的项目。
cscope -b -q -U -R
根据我的研究和一些阅读,当你使用 [=37 中的 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
或项目的主要输出文件的自定义目标,但这并没有也什么都不做。
理想情况下,这会 运行 在项目构建完成后,如果可以告诉我我做错了什么,或者如果这完全可以做到这一点,我将不胜感激?
I've tried using the TARGET overload of
add_custom_command
as well, and making a custom target with a dependency on eitherALL
or the main output file of the project, but that doesn't do anything either.
这似乎是问题所在 - 当 CMake 命令需要传递 target 时,它们指的是您之前使用以下任何方法创建的目标的名称add_executable
、add_library
或 add_custom_target
,不一定映射到命令生成的实际项目文件。
这是我对这个问题的看法,它似乎在构建目录中生成了三个 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
命令的任何内容。