add_subdirectory

将子目录添加到构建中。

add_subdirectory(source_dir [binary_dir] [EXCLUDE_FROM_ALL] [SYSTEM])

将子目录添加到构建中。source_dir 指定包含 CMakeLists.txt 和代码文件的源目录。如果这里是一个相对路径,将会相对于当前目录(典型用法)来评估,但它也可以是一个绝对路径。binary_dir 指定放置输出文件到的目录。如果这里是一个相对路径,将会相对于当前输出目录来评估,但它也可以是一个绝对路径。如果 binary_dir 没有指定,将使用 source_dir 的值(在展开任何相对路径之前)(典型用法)。在当前输入文件继续处理这行命令之前,指定源目录中的 CMakeLists.txt 文件将立即由 CMake 处理。

如果提供了 EXCLUDE_FROM_ALL 参数,那么 EXCLUDE_FROM_ALL 属性将会设置到所添加的目录上。这会将该目录从默认构建中排除。有关全部详细信息,请参阅目录属性 EXCLUDE_FROM_ALL

在版本 3.25 中添加: 如果提供了 SYSTEM 参数,那么子目录的 SYSTEM 目录属性将被设置为 true。此属性用于在该子目录中创建的每个非导入目标的 SYSTEM 属性初始化。