]> granicus.if.org Git - clang/commitdiff
[CMake] Providing a CMake cache for 3-stage builds
authorChris Bieneman <beanz@apple.com>
Tue, 9 Feb 2016 06:01:47 +0000 (06:01 +0000)
committerChris Bieneman <beanz@apple.com>
Tue, 9 Feb 2016 06:01:47 +0000 (06:01 +0000)
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

cmake/caches/3-stage.cmake [new file with mode: 0644]

diff --git a/cmake/caches/3-stage.cmake b/cmake/caches/3-stage.cmake
new file mode 100644 (file)
index 0000000..62de960
--- /dev/null
@@ -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 "")