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