summaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorChris Bieneman <beanz@apple.com>2016-02-09 06:01:47 +0000
committerChris Bieneman <beanz@apple.com>2016-02-09 06:01:47 +0000
commit9d48f73e4f28c581a87c44d5ab255b8bad58c535 (patch)
tree61036b99deb34f5ad1cdbdfdd6c977d6b9f91c54 /cmake
parenta008c6111a423c931de82e1f4a5994d007388829 (diff)
[CMake] Providing a CMake cache for 3-stage builds
This cache file can be used to generate a 3-stage clang build. You can configure using the following CMake command: cmake -C <path to clang>/cmake/caches/3-stage.cmake -G Ninja <path to llvm> You can then run "ninja stage3-clang" to build stage1, stage2 and stage3 clangs. This is useful for finding non-determinism the compiler by verifying that stage2 and stage3 are identical. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@260201 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'cmake')
-rw-r--r--cmake/caches/3-stage.cmake34
1 files changed, 34 insertions, 0 deletions
diff --git a/cmake/caches/3-stage.cmake b/cmake/caches/3-stage.cmake
new file mode 100644
index 0000000000..62de9601b6
--- /dev/null
+++ b/cmake/caches/3-stage.cmake
@@ -0,0 +1,34 @@
+set(CMAKE_BUILD_TYPE RELEASE CACHE STRING "")
+set(CLANG_ENABLE_BOOTSTRAP ON CACHE BOOL "")
+set(LLVM_BUILD_EXTERNAL_COMPILER_RT ON CACHE BOOL "")
+set(LLVM_TARGETS_TO_BUILD X86 CACHE STRING "")
+set(BOOTSTRAP_LLVM_ENABLE_LTO ON CACHE BOOL "")
+
+set(CLANG_BOOTSTRAP_PASSTHROUGH
+ CLANG_ENABLE_BOOTSTRAP
+ LLVM_BUILD_EXTERNAL_COMPILER_RT
+ LLVM_TARGETS_TO_BUILD
+ CLANG_BOOTSTRAP_PASSTHROUGH
+ BOOTSTRAP_LLVM_ENABLE_LTO
+ CMAKE_BUILD_TYPE
+ CACHE STRING "")
+
+set(CLANG_BOOTSTRAP_TARGETS
+ clang
+ check-all
+ check-llvm
+ check-clang
+ test-suite
+ stage3
+ stage3-clang
+ stage3-check-all
+ stage3-check-llvm
+ stage3-check-clang
+ stage3-test-suite CACHE STRING "")
+
+set(BOOTSTRAP_CLANG_BOOTSTRAP_TARGETS
+ clang
+ check-all
+ check-llvm
+ check-clang
+ test-suite CACHE STRING "")