blob: 53d0e5300d65b163bb242b1c3f771bfa038ecb20 [file] [log] [blame]
### Components built ###
set(LLVM_ENABLE_PROJECTS "clang;clang-tools-extra;lld" CACHE STRING "")
### Target architectures ###
# Compiler target architectures
set(LLVM_TARGETS_TO_BUILD "X86" CACHE STRING "")
set(LLVM_ENABLE_RUNTIMES "compiler-rt" CACHE STRING "")
# CMake builtin variables and modules are not available for this cache file
# Gather directly build/host information
execute_process(COMMAND "uname" "-m" OUTPUT_VARIABLE _UNAME_M)
string(STRIP ${_UNAME_M} BUILD_MACHINE_ARCH)
### Default settings for the toolchain ###
# Use the LLVM components
set(CLANG_DEFAULT_OBJCOPY llvm-objcopy CACHE STRING "")
set(CLANG_DEFAULT_LINKER lld CACHE STRING "")
set(CLANG_ENABLE_STATIC_ANALYZER ON CACHE BOOL "")
set(LLVM_ENABLE_LIBCXX OFF CACHE BOOL "")
set(LLVM_ENABLE_ZLIB ON CACHE BOOL "")
### Disk size optimizations ###
# All the tools will use libllvm shared library
set(LLVM_BUILD_LLVM_DYLIB ON CACHE BOOL "")
set(LLVM_LINK_LLVM_DYLIB ON CACHE BOOL "")
# When exceptions are disabled, unwind tables are large and useless
set(LLVM_ENABLE_UNWIND_TABLES OFF CACHE BOOL "")
# Mildly useful misc stuff (which might also be hard to cross-compile)
set(CLANG_ENABLE_ARCMT OFF CACHE BOOL "")
set(CLANG_PLUGIN_SUPPORT OFF CACHE BOOL "")
set(LLVM_ENABLE_TERMINFO OFF CACHE BOOL "")
set(LLVM_ENABLE_Z3_SOLVER OFF CACHE BOOL "")
set(LLVM_INCLUDE_DOCS OFF CACHE BOOL "")
set(LLVM_INCLUDE_GO_TESTS OFF CACHE BOOL "")
set(LLVM_FORCE_ENABLE_STATS ON CACHE BOOL "")
# Do not store debug information by default.
set(CMAKE_BUILD_TYPE Release CACHE STRING "")
# Use the distributions below for the installation
set(LLVM_INSTALL_TOOLCHAIN_ONLY OFF CACHE BOOL "")
### Distributions ###
set(LLVM_DISTRIBUTIONS
Toolchain
Development
CACHE STRING "")
set(LLVM_TOOLCHAIN_TOOLS
llvm-addr2line
llvm-ar
llvm-cxxfilt
llvm-dis
llvm-dwarfdump
llvm-lib
llvm-link
llvm-mc
llvm-nm
llvm-objcopy
llvm-objdump
llvm-rc
llvm-ranlib
llvm-readelf
llvm-readobj
llvm-size
llvm-strip
llvm-symbolizer
llvm-xray
CACHE STRING "")
set(LLVM_BUILD_UTILS ON CACHE BOOL "")
set(LLVM_INSTALL_UTILS ON CACHE BOOL "")
set(LLVM_TOOLCHAIN_UTILITIES
FileCheck
count
not
CACHE STRING "")
set(LLVM_RUNTIME_DISTRIBUTION_COMPONENTS
CACHE STRING "")
set(LLVM_Toolchain_DISTRIBUTION_COMPONENTS
builtins
runtimes
clang
clang-cpp
clang-format
clang-offload-bundler
clang-resource-headers
clang-tidy
clangd
libclang
lld
LLVM
LTO
${LLVM_TOOLCHAIN_TOOLS}
${LLVM_TOOLCHAIN_UTILITIES}
CACHE STRING "")
set(LLVM_Development_DISTRIBUTION_COMPONENTS
# LLVM
cmake-exports
development-cmake-exports
toolchain-cmake-exports
llc
llvm-config
llvm-headers
llvm-libraries
opt
Remarks
# Clang
clang-cmake-exports
clang-development-cmake-exports
clang-toolchain-cmake-exports
clang-headers
clang-libraries
# LLD
lld-cmake-exports
lld-toolchain-cmake-exports
CACHE STRING "")