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