aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOscar Fuentes <ofv@wanadoo.es>2008-11-10 01:47:07 +0000
committerOscar Fuentes <ofv@wanadoo.es>2008-11-10 01:47:07 +0000
commit4f21c1358d17a0092f5980a20de74fac0dbd2693 (patch)
treee6a8faaab47bcafdbbecab0cf00b8d5341228d29
parent02516ba8b4c1c77b81370f8bd712daadb44cd14a (diff)
downloadexternal_llvm-4f21c1358d17a0092f5980a20de74fac0dbd2693.zip
external_llvm-4f21c1358d17a0092f5980a20de74fac0dbd2693.tar.gz
external_llvm-4f21c1358d17a0092f5980a20de74fac0dbd2693.tar.bz2
CMake: Implement magic word `all' for selecting all targets. Check
that specified targets are known. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58951 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--CMakeLists.txt35
1 files changed, 31 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ac7da65..7f477ad 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -13,15 +13,42 @@ set(LLVM_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
set(LLVM_TOOLS_BINARY_DIR ${LLVM_BINARY_DIR}/bin)
set(LLVM_EXAMPLES_BINARY_DIR ${LLVM_BINARY_DIR}/examples)
+set(LLVM_ALL_TARGETS
+ Alpha
+ ARM
+ CBackend
+ CellSPU
+ CppBackend
+ IA64
+ Mips
+ MSIL
+ PIC16
+ PowerPC
+ Sparc
+ X86
+ XCore
+ )
+
if( MSVC )
set(LLVM_TARGETS_TO_BUILD X86
- CACHE STRING "Semicolon-separated list of targets to build")
+ CACHE STRING "Semicolon-separated list of targets to build, or \"all\".")
else( MSVC )
- set(LLVM_TARGETS_TO_BUILD
- Alpha ARM CBackend CellSPU CppBackend IA64 Mips MSIL PIC16 PowerPC Sparc X86 XCore
- CACHE STRING "Semicolon-separated list of targets to build")
+ set(LLVM_TARGETS_TO_BUILD ${LLVM_ALL_TARGETS}
+ CACHE STRING "Semicolon-separated list of targets to build, or \"all\".")
endif( MSVC )
+if( LLVM_TARGETS_TO_BUILD STREQUAL "all" )
+ set( LLVM_TARGETS_TO_BUILD ${LLVM_ALL_TARGETS} )
+endif()
+
+foreach(c ${LLVM_TARGETS_TO_BUILD})
+ list(FIND LLVM_ALL_TARGETS ${c} idx)
+ if( idx LESS 0 )
+ message(FATAL_ERROR "The target `${c}' does not exists.
+ It should be one of\n${LLVM_ALL_TARGETS}")
+ endif()
+endforeach(c)
+
set(llvm_builded_incs_dir ${LLVM_BINARY_DIR}/include/llvm)
# Add path for custom modules