91 lines · plain
1# This file sets up a CMakeCache for Apple-style stage2 bootstrap. It is2# 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(LLVM_ENABLE_EXPORTED_SYMBOLS_IN_EXECUTABLES OFF CACHE BOOL "")19set(LLVM_PLUGIN_SUPPORT OFF CACHE BOOL "")20set(CLANG_PLUGIN_SUPPORT OFF CACHE BOOL "")21set(CLANG_SPAWN_CC1 ON CACHE BOOL "")22set(BUG_REPORT_URL "http://developer.apple.com/bugreporter/" CACHE STRING "")23 24set(LLVM_BUILD_EXTERNAL_COMPILER_RT ON CACHE BOOL "Build Compiler-RT with just-built clang")25set(COMPILER_RT_ENABLE_IOS ON CACHE BOOL "Build iOS Compiler-RT libraries")26 27set(LLVM_CREATE_XCODE_TOOLCHAIN ON CACHE BOOL "Generate targets to create and install an Xcode compatible toolchain")28 29# Make unit tests (if present) part of the ALL target30set(LLVM_BUILD_TESTS ON CACHE BOOL "")31 32set(LLVM_ENABLE_LTO ON CACHE BOOL "")33set(CMAKE_C_FLAGS "-fno-stack-protector -fno-common -Wno-profile-instr-unprofiled" CACHE STRING "")34set(CMAKE_CXX_FLAGS "-fno-stack-protector -fno-common -Wno-profile-instr-unprofiled" CACHE STRING "")35if(LLVM_ENABLE_LTO AND NOT LLVM_ENABLE_LTO STREQUAL "THIN")36 set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -gline-tables-only -DNDEBUG" CACHE STRING "")37 set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -gline-tables-only -DNDEBUG" CACHE STRING "")38endif()39set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "")40 41set(LLVM_LTO_VERSION_OFFSET 3000 CACHE STRING "")42 43# Generating Xcode toolchains is useful for developers wanting to build and use44# clang without installing over existing tools.45set(LLVM_CREATE_XCODE_TOOLCHAIN ON CACHE BOOL "")46 47# setup toolchain48set(LLVM_INSTALL_TOOLCHAIN_ONLY ON CACHE BOOL "")49set(LLVM_TOOLCHAIN_TOOLS50 dsymutil51 llvm-cov52 llvm-dwarfdump53 llvm-profdata54 llvm-objdump55 llvm-nm56 llvm-size57 llvm-cxxfilt58 llvm-config59 CACHE STRING "")60 61set(LLVM_BUILD_UTILS ON CACHE BOOL "")62set(LLVM_INSTALL_UTILS ON CACHE BOOL "")63set(LLVM_TOOLCHAIN_UTILITIES64 FileCheck65 yaml2obj66 not67 count68 CACHE STRING "")69 70set(LLVM_DISTRIBUTION_COMPONENTS71 clang72 LTO73 clang-format74 clang-resource-headers75 Remarks76 ${LLVM_TOOLCHAIN_TOOLS}77 ${LLVM_TOOLCHAIN_UTILITIES}78 CACHE STRING "")79 80# Build the libc++ headers81set(LLVM_ENABLE_RUNTIMES "libcxx;libcxxabi" CACHE STRING "")82set(LLVM_RUNTIME_DISTRIBUTION_COMPONENTS cxx-headers CACHE STRING "")83set(LIBCXX_INSTALL_LIBRARY OFF CACHE BOOL "")84set(LIBCXX_INSTALL_HEADERS ON CACHE BOOL "")85set(LIBCXX_INCLUDE_TESTS OFF CACHE BOOL "")86set(LIBCXX_USE_COMPILER_RT ON CACHE BOOL "")87 88# test args89 90set(LLVM_LIT_ARGS "--xunit-xml-output=testresults.xunit.xml -v" CACHE STRING "")91