r285206 - [CMake] Adding example distribution CMake cache files

Chris Bieneman via cfe-commits cfe-commits at lists.llvm.org
Wed Oct 26 08:41:38 PDT 2016


Author: cbieneman
Date: Wed Oct 26 10:41:38 2016
New Revision: 285206

URL: http://llvm.org/viewvc/llvm-project?rev=285206&view=rev
Log:
[CMake] Adding example distribution CMake cache files

These cache file are provided as an example of how to set up simple multi-stage CMake builds. I have a batch of documentation updates for LLVM.org which reference these files.

Added:
    cfe/trunk/cmake/caches/DistributionExample-stage2.cmake
    cfe/trunk/cmake/caches/DistributionExample.cmake

Added: cfe/trunk/cmake/caches/DistributionExample-stage2.cmake
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/cmake/caches/DistributionExample-stage2.cmake?rev=285206&view=auto
==============================================================================
--- cfe/trunk/cmake/caches/DistributionExample-stage2.cmake (added)
+++ cfe/trunk/cmake/caches/DistributionExample-stage2.cmake Wed Oct 26 10:41:38 2016
@@ -0,0 +1,30 @@
+# This file sets up a CMakeCache for the second stage of a simple distribution
+# bootstrap build.
+
+set(LLVM_TARGETS_TO_BUILD X86;ARM;AArch64 CACHE STRING "")
+
+set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "")
+set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 -gline-tables-only -DNDEBUG" CACHE STRING "")
+set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -gline-tables-only -DNDEBUG" CACHE STRING "")
+
+# setup toolchain
+set(LLVM_INSTALL_TOOLCHAIN_ONLY ON CACHE BOOL "")
+set(LLVM_TOOLCHAIN_TOOLS
+  llvm-dsymutil
+  llvm-cov
+  llvm-dwarfdump
+  llvm-profdata
+  llvm-objdump
+  llvm-nm
+  llvm-size
+  CACHE STRING "")
+
+set(LLVM_DISTRIBUTION_COMPONENTS
+  clang
+  LTO
+  clang-format
+  clang-headers
+  builtins
+  runtimes
+  ${LLVM_TOOLCHAIN_TOOLS}
+  CACHE STRING "")

Added: cfe/trunk/cmake/caches/DistributionExample.cmake
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/cmake/caches/DistributionExample.cmake?rev=285206&view=auto
==============================================================================
--- cfe/trunk/cmake/caches/DistributionExample.cmake (added)
+++ cfe/trunk/cmake/caches/DistributionExample.cmake Wed Oct 26 10:41:38 2016
@@ -0,0 +1,34 @@
+# This file sets up a CMakeCache for a simple distribution bootstrap build.
+
+# Only build the native target in stage1 since it is a throwaway build.
+set(LLVM_TARGETS_TO_BUILD Native CACHE STRING "")
+
+# Optimize the stage1 compiler, but don't LTO it because that wastes time.
+set(CMAKE_BUILD_TYPE Release CACHE STRING "")
+
+# Setup vendor-specific settings.
+set(PACKAGE_VENDOR LLVM.org CACHE STRING "")
+
+# Setting up the stage2 LTO option needs to be done on the stage1 build so that
+# the proper LTO library dependencies can be connected.
+set(BOOTSTRAP_LLVM_ENABLE_LTO ON CACHE BOOL "")
+
+# Expose stage2 targets through the stage1 build configuration.
+set(CLANG_BOOTSTRAP_TARGETS
+  check-all
+  check-llvm
+  check-clang
+  llvm-config
+  test-suite
+  test-depends
+  llvm-test-depends
+  clang-test-depends
+  distribution
+  install-distribution
+  clang CACHE STRING "")
+
+# Setup the bootstrap build.
+set(CLANG_ENABLE_BOOTSTRAP ON CACHE BOOL "")
+set(CLANG_BOOTSTRAP_CMAKE_ARGS
+  -C ${CMAKE_CURRENT_LIST_DIR}/DistributionExample-stage2.cmake
+  CACHE STRING "")




More information about the cfe-commits mailing list