From fd0779181f55052c686e5c823a8005562a77dd9b Mon Sep 17 00:00:00 2001 From: Stefan Granitz Date: Fri, 17 May 2019 19:19:41 +0000 Subject: [PATCH] [CMake] Add first CMake cache files Summary: CMake cache scripts pre-populate the CMakeCache in a build directory with commonly used settings. The CMake invocation from D61952 could look like this: ``` cmake -G Ninja -C /path/to/llvm-project/lldb/cmake/caches/Apple-lldb-osx.cmake -DLLVM_ENABLE_PROJECTS="clang;libcxx;libcxxabi;lldb" ../llvm-project/llvm ``` Options specified on the command line will override options in the cache files (as long as caches don't use `FORCE`). What do you think? (This is a first proposal and not set in stone.) Reviewers: xiaobai, compnerd, JDevlieghere, aprantl, labath Subscribers: mgorny, lldb-commits, #lldb Tags: #lldb Differential Revision: https://reviews.llvm.org/D61956 llvm-svn: 361069 --- lldb/cmake/caches/Apple-lldb-base.cmake | 8 ++++++++ lldb/cmake/caches/Apple-lldb-macOS.cmake | 22 ++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 lldb/cmake/caches/Apple-lldb-base.cmake create mode 100644 lldb/cmake/caches/Apple-lldb-macOS.cmake diff --git a/lldb/cmake/caches/Apple-lldb-base.cmake b/lldb/cmake/caches/Apple-lldb-base.cmake new file mode 100644 index 0000000000000..c0b83b66f2f25 --- /dev/null +++ b/lldb/cmake/caches/Apple-lldb-base.cmake @@ -0,0 +1,8 @@ +set(LLVM_TARGETS_TO_BUILD X86;ARM;AArch64 CACHE STRING "") +set(LLVM_INSTALL_TOOLCHAIN_ONLY ON CACHE BOOL "") + +# Release builds set these explicitly: +#set(LLDB_VERSION_MAJOR 9999 CACHE STRING "") +#set(LLDB_VERSION_MINOR 9 CACHE STRING "") +#set(LLDB_VERSION_PATCH 9 CACHE STRING "") +#set(LLDB_VERSION_SUFFIX git CACHE STRING "") diff --git a/lldb/cmake/caches/Apple-lldb-macOS.cmake b/lldb/cmake/caches/Apple-lldb-macOS.cmake new file mode 100644 index 0000000000000..4745916838a60 --- /dev/null +++ b/lldb/cmake/caches/Apple-lldb-macOS.cmake @@ -0,0 +1,22 @@ +include(${CMAKE_CURRENT_LIST_DIR}/Apple-lldb-base.cmake) + +set(LLDB_BUILD_FRAMEWORK ON CACHE BOOL "") +set(LLDB_NO_INSTALL_DEFAULT_RPATH ON CACHE BOOL "") + +# Set the install prefix to the default install location on the enduser machine. +# If the location is not writeable on the build machine, specify another prefix +# in the DESTDIR environment variable, e.g.: DESTDIR=/tmp ninja install +set(CMAKE_INSTALL_PREFIX /Applications/Xcode.app/Contents/Developer/usr CACHE STRING "") + +# Choose the install location for LLDB.framework so that it matches the +# INSTALL_RPATH of the lldb driver. It's either absolute or relative to +# CMAKE_INSTALL_PREFIX. In any case, DESTDIR will be an extra prefix. +set(LLDB_FRAMEWORK_INSTALL_DIR /Applications/Xcode.app/Contents/SharedFrameworks CACHE STRING "") + +# Release builds may change these: +set(CMAKE_OSX_DEPLOYMENT_TARGET 10.11 CACHE STRING "") +set(LLDB_USE_SYSTEM_DEBUGSERVER ON CACHE BOOL "") +set(LLVM_EXTERNALIZE_DEBUGINFO OFF CACHE BOOL "") + +set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "") +set(LLVM_ENABLE_MODULES ON CACHE BOOL "")