我有一个项目,所有真正的源/头文件都在外部目录中。我希望能够获得代码完成,跳转到定义,以及查找此外部目录中所有代码的Usages(成员函数/变量)。
为此,我使用了Tools -> CMake -> Change Project Root
并选择了外部目录。但是,除非我在项目视图中右键单击此外部目录的名称并选择Mark Directory as -> Project Sources and Headers
,否则查找用法等功能将无法正常工作。然后,查找用法工作。所以,这很好。
但是,为了告诉编译器函数定义等位于何处,我需要在CMakeLists.txt中手动提示外部目录中的每个.cpp文件。但是,尝试通过相对路径在CMakeLists.txt中提及外部目录中的任何文件会出现错误"无法找到源文件"。
我唯一能做的就是使用绝对路径:
set(SOURCE_FILES /absolute/path/to/external/dir/main.cpp)
有更好的方法吗?我认为将项目根重置为外部目录会使CMakeLists.txt中的绝对路径变得不必要。