EXCLUDE_FROM_ALL¶
将此目录属性设置为子目录上的真值,以将其目标从其祖先的“all”目标中排除。 如果被排除,例如在父目录中运行 make
默认情况下将不会构建子目录中的目标。 这不会影响子目录本身的“all”目标。 例如在子目录内部运行 make
仍然会构建其目标。
EXCLUDE_FROM_ALL
适用于子目录包含项目中一个独立的部分,该部分有用但不是必需的,例如一组示例,或者例如集成的第三方库。 通常,子目录应包含其自己的 project()
命令调用,以便将在子目录中生成完整的构建系统(例如 Visual Studio IDE 解决方案文件)。 请注意,目标间依赖关系取代了此排除。 如果父项目构建的目标依赖于子目录中的目标,则依赖目标将包含在父项目构建系统中以满足依赖关系。
如果提供了 EXCLUDE_FROM_ALL
参数,则它具有以下效果
在子目录或更低级别中定义的目标将不会包含在父目录的
ALL
目标中。 这些目标必须由用户显式构建,或者成为将要构建的另一个目标的依赖项。在子目录或更低级别中定义的目标将从 IDE 项目文件中排除。
安装父目录时,将忽略在子目录或更低级别中定义的任何安装规则。
请注意,这些效果与 EXCLUDE_FROM_ALL
目标属性的效果不同。