Ycm 与 cmake

警告
本文最后更新于 2021-07-13,文中内容可能已过时。

最近在配置 vimycm 插件,发现如果需要针对某个非系统的头文件路径,需要单独修改 third_party/ycmd/.ycm_extra_conf.py

1
2
'-isystem','cpp/ycm/benchmarks/benchmark/include',
'-isystem','/shared/trading/Wuya/release/include',

这样的话,如果更换了项目,需要每次都重新修改配置文件,显得似乎有点多余。后来在网站看到可以通过配置 CMakeLists.txt 文件来达到编译的时候自动更新 ycm 的查找路径,从而可以针对每个项目进行独立的配置。

具体是在 CMakeListst.txt 添加一下编译选项:

1
2
3
4
5
6
7
8
SET(CMAKE_EXPORT_COMPILE_COMMANDS ON)

IF(EXISTS "${CMAKE_CURRENT_BINARY_DIR}/compile_commands.json")
  EXECUTE_PROCESS( COMMAND ${CMAKE_COMMAND} -E copy_if_different
    ${CMAKE_CURRENT_BINARY_DIR}/compile_commands.json
    ${CMAKE_CURRENT_SOURCE_DIR}/compile_commands.json
  )
ENDIF()

可以参考链接:YouCompleteMe and CMake

相关内容

william 支付宝支付宝
william 微信微信
0%