如何为所有 CLion 包含设置一个根?

How to set a single root for all CLion includes?

我的 CLion 项目组织如下:

main.cpp
foo/bar.h
foo/blah.h

main.cpp 有行 #include "foo/bar.h" 并且后者位于正确的位置。

但是 foo/bar.h 有行 #include "foo/blah.h"(注意目录名称没有被省略,即使两个文件恰好在同一个目录中)。

FAQ 建议解决“CLion 无法找到我的某些 headers。它在哪里搜索它们?” 的解决方案是添加行

set(INCLUDE_DIRECTORIES .)

CMakeLists.txt。这个感觉就像是正确的答案,因为它与我们在命令行上所做的相匹配(添加标志 -I.),但这没有帮助。

如何告诉 CLion 我希望所有包含项都与单个根相关?

相关问题:

简单的方法是这样的:

include_directories(${CMAKE_CURRENT_SOURCE_DIR})

如果您想指定接口或安装的包含路径(例如,您正在编写要由其他项目导入的库),请查看

的文档
target_include_directories(...)