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