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 属性。