Index: llvm/trunk/docs/CMake.rst =================================================================== --- llvm/trunk/docs/CMake.rst +++ llvm/trunk/docs/CMake.rst @@ -339,6 +339,14 @@ will not be used. If the variable for an external project does not point to a valid path, then that project will not be built. +**LLVM_EXTERNAL_PROJECTS**:STRING + Semicolon-separated list of additional external projects to build as part of + llvm. For each project LLVM_EXTERNAL__SOURCE_DIR have to be specified + with the path for the source code of the project. Example: + ``-DLLVM_EXTERNAL_PROJECTS="Foo;Bar" + -DLLVM_EXTERNAL_FOO_SOURCE_DIR=/src/foo + -DLLVM_EXTERNAL_BAR_SOURCE_DIR=/src/bar``. + **LLVM_USE_OPROFILE**:BOOL Enable building OProfile JIT support. Defaults to OFF. Index: llvm/trunk/tools/CMakeLists.txt =================================================================== --- llvm/trunk/tools/CMakeLists.txt +++ llvm/trunk/tools/CMakeLists.txt @@ -50,4 +50,9 @@ # file as external projects. add_llvm_implicit_projects() +# Add subprojects specified using LLVM_EXTERNAL_PROJECTS +foreach(p ${LLVM_EXTERNAL_PROJECTS}) + add_llvm_external_project(${p}) +endforeach(p) + set(LLVM_COMMON_DEPENDS ${LLVM_COMMON_DEPENDS} PARENT_SCOPE)