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() 命令向单个目标添加包含目录,并可选地将其传播/导出到依赖项。

另请参阅