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
This commit is contained in:
Oscar Fuentes 2008-11-10 01:47:07 +00:00
parent 02516ba8b4
commit 4f21c1358d

View File

@ -13,15 +13,42 @@ set(LLVM_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
set(LLVM_TOOLS_BINARY_DIR ${LLVM_BINARY_DIR}/bin) set(LLVM_TOOLS_BINARY_DIR ${LLVM_BINARY_DIR}/bin)
set(LLVM_EXAMPLES_BINARY_DIR ${LLVM_BINARY_DIR}/examples) 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 ) if( MSVC )
set(LLVM_TARGETS_TO_BUILD X86 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 ) else( MSVC )
set(LLVM_TARGETS_TO_BUILD set(LLVM_TARGETS_TO_BUILD ${LLVM_ALL_TARGETS}
Alpha ARM CBackend CellSPU CppBackend IA64 Mips MSIL PIC16 PowerPC Sparc X86 XCore CACHE STRING "Semicolon-separated list of targets to build, or \"all\".")
CACHE STRING "Semicolon-separated list of targets to build")
endif( MSVC ) 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) set(llvm_builded_incs_dir ${LLVM_BINARY_DIR}/include/llvm)
# Add path for custom modules # Add path for custom modules