blob: fc7dae8499355fb78cbaa1710be77d63c57df79c [file] [log] [blame]
Petr Hosek367ad732017-02-17 19:28:54 +00001# This file sets up a CMakeCache for a Fuchsia toolchain build.
2
3set(LLVM_TARGETS_TO_BUILD Native CACHE STRING "")
4
5set(PACKAGE_VENDOR Fuchsia CACHE STRING "")
6
7set(LLVM_INCLUDE_EXAMPLES OFF CACHE BOOL "")
8set(LLVM_INCLUDE_TESTS OFF CACHE BOOL "")
9set(LLVM_INCLUDE_DOCS OFF CACHE BOOL "")
Petr Hosek367ad732017-02-17 19:28:54 +000010set(LLVM_ENABLE_BACKTRACES OFF CACHE BOOL "")
Petr Hosek2423c162018-06-28 05:15:46 +000011set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR ON CACHE BOOL "")
Petr Hosek86cc84d2017-11-27 20:29:13 +000012set(LLVM_ENABLE_TERMINFO OFF CACHE BOOL "")
13set(LLVM_ENABLE_ZLIB OFF CACHE BOOL "")
Petr Hosek2423c162018-06-28 05:15:46 +000014set(CLANG_INCLUDE_TESTS OFF CACHE BOOL "")
Petr Hosek367ad732017-02-17 19:28:54 +000015set(CLANG_PLUGIN_SUPPORT OFF CACHE BOOL "")
16
Petr Hosek72797622017-12-21 22:10:27 +000017set(LLVM_ENABLE_ASSERTIONS ON CACHE BOOL "")
Petr Hosek367ad732017-02-17 19:28:54 +000018set(CMAKE_BUILD_TYPE Release CACHE STRING "")
19
20set(BOOTSTRAP_LLVM_ENABLE_LTO ON CACHE BOOL "")
21if(NOT APPLE)
22 set(BOOTSTRAP_LLVM_ENABLE_LLD ON CACHE BOOL "")
23endif()
24
Petr Hosek5e1f49e2018-06-11 22:06:44 +000025set(CLANG_DEFAULT_CXX_STDLIB libc++ CACHE STRING "")
26set(CLANG_DEFAULT_RTLIB compiler-rt CACHE STRING "")
27
Petr Hosek60f54ac2017-04-13 21:09:42 +000028if(APPLE)
29 set(COMPILER_RT_ENABLE_IOS OFF CACHE BOOL "")
30 set(COMPILER_RT_ENABLE_TVOS OFF CACHE BOOL "")
31 set(COMPILER_RT_ENABLE_WATCHOS OFF CACHE BOOL "")
Petr Hosek0b9629b2018-06-28 20:33:18 +000032elseif(UNIX)
Petr Hoseke52b7522018-06-28 20:19:11 +000033 set(LIBUNWIND_ENABLE_SHARED OFF CACHE BOOL "")
34 set(LIBUNWIND_USE_COMPILER_RT ON CACHE BOOL "")
35 set(LIBUNWIND_INSTALL_LIBRARY OFF CACHE BOOL "")
36 set(LIBCXXABI_USE_COMPILER_RT ON CACHE BOOL "")
37 set(LIBCXXABI_ENABLE_SHARED OFF CACHE BOOL "")
38 set(LIBCXXABI_USE_LLVM_UNWINDER ON CACHE BOOL "")
39 set(LIBCXXABI_ENABLE_STATIC_UNWINDER ON CACHE BOOL "")
40 set(LIBCXXABI_INSTALL_LIBRARY OFF CACHE BOOL "")
41 set(LIBCXX_USE_COMPILER_RT ON CACHE BOOL "")
42 set(LIBCXX_ENABLE_SHARED OFF CACHE BOOL "")
43 set(LIBCXX_ENABLE_STATIC_ABI_LIBRARY ON CACHE BOOL "")
Petr Hosek60f54ac2017-04-13 21:09:42 +000044endif()
45
Petr Hosek367ad732017-02-17 19:28:54 +000046set(CLANG_BOOTSTRAP_TARGETS
47 check-all
48 check-llvm
49 check-clang
50 llvm-config
51 test-suite
52 test-depends
53 llvm-test-depends
54 clang-test-depends
55 distribution
56 install-distribution
Petr Hosek8084f912018-06-06 05:18:39 +000057 install-distribution-stripped
Petr Hosek367ad732017-02-17 19:28:54 +000058 clang CACHE STRING "")
59
Petr Hosek403793e2018-05-08 02:47:13 +000060get_cmake_property(variableNames VARIABLES)
61foreach(variableName ${variableNames})
62 if(variableName MATCHES "^STAGE2_")
63 string(REPLACE "STAGE2_" "" new_name ${variableName})
64 list(APPEND EXTRA_ARGS "-D${new_name}=${${variableName}}")
Petr Hosekdce11342017-07-19 02:57:47 +000065 endif()
66endforeach()
Petr Hosek367ad732017-02-17 19:28:54 +000067
68# Setup the bootstrap build.
69set(CLANG_ENABLE_BOOTSTRAP ON CACHE BOOL "")
Petr Hosek5e1f49e2018-06-11 22:06:44 +000070set(CLANG_BOOTSTRAP_EXTRA_DEPS
71 builtins
72 runtimes
73 CACHE STRING "")
Petr Hosek367ad732017-02-17 19:28:54 +000074set(CLANG_BOOTSTRAP_CMAKE_ARGS
75 ${EXTRA_ARGS}
76 -C ${CMAKE_CURRENT_LIST_DIR}/Fuchsia-stage2.cmake
77 CACHE STRING "")