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()
命令将包含目录添加到各个目标,并选择性传播/导出它们到依赖项。