@@ -612,6 +612,7 @@ def getCmakeWithNinjaMultistageBuildFactory(
612612
613613def getCmakeExBuildFactory (
614614 depends_on_projects = None ,
615+ enable_projects = "auto" ,
615616 enable_runtimes = "auto" ,
616617 cmake_definitions = None ,
617618 cmake_options = None ,
@@ -666,6 +667,17 @@ def getCmakeExBuildFactory(
666667 If this parameter is not None and contains the non-runtime project names, they will go to
667668 LLVM_ENABLE_PROJECTS CMake configuration parameter.
668669
670+ enable_projects : list, optional
671+ A list of the LLVM projects (except the runtime projects) for the build (default is 'auto').
672+ This list goes into the factory's 'enable_projects' attribute and LLVM_ENABLE_PROJECTS CMake configuration
673+ parameter.
674+
675+ If "auto" is specified, the runtime projects will be extracted from 'depends_on_projects' parameter.
676+
677+ If None is specified, LLVM_ENABLE_PROJECTS will not be set for the CMake configuration step.
678+
679+ (see LLVMBuildFactory for more details).
680+
669681 enable_runtimes : list, optional
670682 A list of the runtime project names for the build (default is 'auto'). This list goes into
671683 the factory's 'enable_runtimes' attribute and LLVM_ENABLE_RUNTIMES CMake configuration parameter.
@@ -894,6 +906,7 @@ def norm_target_list_arg(lst):
894906 # Default root factory. We will collect all steps for all stages here.
895907 f = LLVMBuildFactory (
896908 depends_on_projects = depends_on_projects ,
909+ enable_projects = enable_projects ,
897910 enable_runtimes = enable_runtimes ,
898911 hint = hint ,
899912 llvm_srcdir = llvm_srcdir ,
0 commit comments