Check for invalid projects passed in LLVM_ENABLE_PROJECTS
This is catching misconfiguration. For example one of my automation
had a typo running `-DLLVM_ENABLE_PROJECTS=nlir` and it was just
silently ignored. Instead, an error will now be displayed.
Differential Revision: https://reviews.llvm.org/D110016
GitOrigin-RevId: 4121ac1e7f96d826b793bd7e29c181f1eb8168bf
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c48f506..0200cca 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -68,9 +68,15 @@
# The flang project is not yet part of "all" projects (see C++ requirements)
set(LLVM_EXTRA_PROJECTS "flang")
# List of all known projects in the mono repo
-set(LLVM_KNOWN_PROJECTS "${LLVM_ALL_PROJECTS};${LLVM_EXTRA_PROJECTS}")
+set(LLVM_KNOWN_PROJECTS "${LLVM_ALL_PROJECTS};${LLVM_EXTRA_PROJECTS};llvm")
set(LLVM_ENABLE_PROJECTS "" CACHE STRING
"Semicolon-separated list of projects to build (${LLVM_KNOWN_PROJECTS}), or \"all\".")
+foreach(proj ${LLVM_ENABLE_PROJECTS})
+ if (NOT "${proj}" IN_LIST LLVM_KNOWN_PROJECTS)
+ MESSAGE(FATAL_ERROR "${proj} isn't a know project: ${LLVM_KNOWN_PROJECTS}")
+ endif()
+endforeach()
+
if( LLVM_ENABLE_PROJECTS STREQUAL "all" )
set( LLVM_ENABLE_PROJECTS ${LLVM_ALL_PROJECTS})
endif()