include_directories

将包含目录添加到构建中。

include_directories([AFTER|BEFORE] [SYSTEM] dir1 [dir2 ...])

将给定的目录添加到编译器用于搜索包含文件的目录中。相对路径被解释为相对于当前源目录。

包含目录被添加到当前 CMakeLists 文件的 INCLUDE_DIRECTORIES 目录属性中。它们也被添加到当前 CMakeLists 文件中每个目标的 INCLUDE_DIRECTORIES 目标属性中。目标属性值是生成器使用的值。

默认情况下,指定的目录会附加到当前目录列表的末尾。可以通过将 CMAKE_INCLUDE_DIRECTORIES_BEFORE 设置为 ON 来更改此默认行为。通过显式使用 AFTERBEFORE,您可以在附加和前置之间进行选择,而与默认值无关。

如果给出了 SYSTEM 选项,编译器将被告知这些目录在某些平台上被用作系统包含目录。发出此设置信号可能会实现一些效果,例如编译器跳过警告,或者在依赖关系计算中不考虑这些固定安装的系统文件 - 请参阅编译器文档。

include_directories 的参数可以使用生成器表达式,语法为 $<...>。有关可用表达式,请参阅 cmake-generator-expressions(7) 手册。有关定义构建系统属性的更多信息,请参阅 cmake-buildsystem(7) 手册。

注意

建议使用 target_include_directories() 命令将包含目录添加到单个目标,并可选择将其传播/导出到依赖项。

参见