include_directories¶
向构建添加包含目录。
include_directories([AFTER|BEFORE] [SYSTEM] dir1 [dir2 ...])
将给定的目录添加到编译器用于搜索包含文件的目录中。相对路径是相对于当前源目录解释的。
这些包含目录被添加到当前 CMakeLists 文件的 INCLUDE_DIRECTORIES 目录属性中。它们也被添加到当前 CMakeLists 文件中每个目标的 INCLUDE_DIRECTORIES 目标属性中。目标属性值是生成器使用的值。
默认情况下,指定目录会被附加到当前目录列表中。可以通过将 CMAKE_INCLUDE_DIRECTORIES_BEFORE 设置为 ON 来更改此默认行为。通过显式使用 AFTER 或 BEFORE,您可以选择在附加和前置之间进行选择,而与默认设置无关。
如果提供了 SYSTEM 选项,编译器将在某些平台上被告知这些目录用作系统包含目录。发出此设置可能会产生诸如编译器跳过警告的效果,或者这些固定安装的系统文件不会被视为依赖项计算的一部分 - 请参阅编译器文档。
对 include_directories 的参数可以使用生成器表达式,语法为 $<...>。请参阅 cmake-generator-expressions(7) 手册以获取可用的表达式。请参阅 cmake-buildsystem(7) 手册以了解更多关于定义构建系统属性的信息。
注意
建议使用 target_include_directories() 命令将包含目录添加到单个目标,并可选地将它们传播/导出到依赖项。