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() 命令将头文件搜索目录添加到单个目标,并可选择地将它们传播/导出给依赖项。

另请参阅