2013-05-14 59 views
1

YouCompleteMe是一个非常棒的vim C++插件,但是它需要用户提供.ycm_extra_conf.py脚本才能为每个C/C++源代码返回编译器标志。库从CMake构建树中读取编译器标志

目前,我有一个基于CMake的C++项目,我想使用这个插件来缓解我的发展,那么我需要的.ycm_extra_conf.py脚本写编程弄清楚编译器标志为每个源文件。

所以我的问题是,有没有办法以编程方式通过查看构建目录找出每个源的编译器标志,因为我已经跑了cmake并生成了一堆文件。

回答

0

不会有作为CMake的可以生成用于不同的平台和方案,例如构建溶液的通用解决方案Makefiles与Visual Studio项目。

对于Makefile生成器,你可以尝试寻找在CMakeFiles/CMakeDirectoryInformation.cmake文件或直接从生成文件的相关信息。但这可能不是一个非常可靠的解决方案,因为这些文件是Makefile生成器的内部组件,可能随每个CMake版本而改变。

是Eclipse使用的解决方案是解析编译器调用的输出包括标志等,这可能是一个有点更可靠。对于Makefiles,您可以通过使用VERBOSE = 1进行编译来启用完整输出,这些VERBOSE = 1是作为环境或调用变量给出的。