1# This file sets up a CMakeCache for Apple-style stage2 bootstrap. It is
2# specified by the stage1 build.
3
4set(LLVM_TARGETS_TO_BUILD X86 ARM AArch64 CACHE STRING "")
5set(PACKAGE_VENDOR Apple CACHE STRING "")
6set(CLANG_VENDOR_UTI com.apple.clang CACHE STRING "")
7set(LLVM_INCLUDE_EXAMPLES OFF CACHE BOOL "")
8set(LLVM_INCLUDE_DOCS OFF CACHE BOOL "")
9set(LLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD OFF CACHE BOOL "")
10set(CLANG_TOOL_SCAN_BUILD_BUILD OFF CACHE BOOL "")
11set(CLANG_TOOL_SCAN_VIEW_BUILD OFF CACHE BOOL "")
12set(CLANG_LINKS_TO_CREATE clang++ cc c++ CACHE STRING "")
13set(CMAKE_MACOSX_RPATH ON CACHE BOOL "")
14set(LLVM_ENABLE_ZLIB ON CACHE BOOL "")
15set(LLVM_ENABLE_BACKTRACES OFF CACHE BOOL "")
16set(LLVM_ENABLE_MODULES ON CACHE BOOL "")
17set(LLVM_EXTERNALIZE_DEBUGINFO ON CACHE BOOL "")
18set(CLANG_PLUGIN_SUPPORT OFF CACHE BOOL "")
19set(CLANG_SPAWN_CC1 ON CACHE BOOL "")
20set(BUG_REPORT_URL "http://developer.apple.com/bugreporter/" CACHE STRING "")
21
22set(LLVM_BUILD_EXTERNAL_COMPILER_RT ON CACHE BOOL "Build Compiler-RT with just-built clang")
23set(COMPILER_RT_ENABLE_IOS ON CACHE BOOL "Build iOS Compiler-RT libraries")
24
25set(LLVM_CREATE_XCODE_TOOLCHAIN ON CACHE BOOL "Generate targets to create and install an Xcode compatible toolchain")
26
27# Make unit tests (if present) part of the ALL target
28set(LLVM_BUILD_TESTS ON CACHE BOOL "")
29
30set(LLVM_ENABLE_LTO ON CACHE BOOL "")
31set(CMAKE_C_FLAGS "-fno-stack-protector -fno-common -Wno-profile-instr-unprofiled" CACHE STRING "")
32set(CMAKE_CXX_FLAGS "-fno-stack-protector -fno-common -Wno-profile-instr-unprofiled" CACHE STRING "")
33if(LLVM_ENABLE_LTO AND NOT LLVM_ENABLE_LTO STREQUAL "THIN")
34  set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -gline-tables-only -DNDEBUG" CACHE STRING "")
35  set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -gline-tables-only -DNDEBUG" CACHE STRING "")
36endif()
37set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "")
38
39set(LLVM_LTO_VERSION_OFFSET 3000 CACHE STRING "")
40
41# Generating Xcode toolchains is useful for developers wanting to build and use
42# clang without installing over existing tools.
43set(LLVM_CREATE_XCODE_TOOLCHAIN ON CACHE BOOL "")
44
45# setup toolchain
46set(LLVM_INSTALL_TOOLCHAIN_ONLY ON CACHE BOOL "")
47set(LLVM_TOOLCHAIN_TOOLS
48  dsymutil
49  llvm-cov
50  llvm-dwarfdump
51  llvm-profdata
52  llvm-objdump
53  llvm-nm
54  llvm-size
55  llvm-cxxfilt
56  llvm-config
57  CACHE STRING "")
58
59set(LLVM_BUILD_UTILS ON CACHE BOOL "")
60set(LLVM_INSTALL_UTILS ON CACHE BOOL "")
61set(LLVM_TOOLCHAIN_UTILITIES
62  FileCheck
63  yaml2obj
64  not
65  count
66  CACHE STRING "")
67
68set(LLVM_DISTRIBUTION_COMPONENTS
69  clang
70  LTO
71  clang-format
72  clang-resource-headers
73  Remarks
74  ${LLVM_TOOLCHAIN_TOOLS}
75  ${LLVM_TOOLCHAIN_UTILITIES}
76  CACHE STRING "")
77
78# Build the libc++ headers
79set(LLVM_ENABLE_RUNTIMES "libcxx;libcxxabi" CACHE STRING "")
80set(LLVM_RUNTIME_DISTRIBUTION_COMPONENTS cxx-headers CACHE STRING "")
81set(LIBCXX_INSTALL_LIBRARY OFF CACHE BOOL "")
82set(LIBCXX_INSTALL_HEADERS ON CACHE BOOL "")
83set(LIBCXX_INCLUDE_TESTS OFF CACHE BOOL "")
84set(LIBCXX_USE_COMPILER_RT ON CACHE BOOL "")
85
86# test args
87
88set(LLVM_LIT_ARGS "--xunit-xml-output=testresults.xunit.xml -v" CACHE STRING "")
89