[Lldb-commits] [PATCH] D65797: [lldb][CMake] Generating Xcode projects
Stefan Gränitz via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Tue Aug 6 03:25:49 PDT 2019
sgraenitz created this revision.
sgraenitz added reviewers: JDevlieghere, jingham, clayborg.
Herald added a subscriber: mgorny.
Herald added a project: LLDB.
Print a warning if the wrong cache script is used when generating a Xcode project, because it's too easy to confuse with Apple-lldb-macOS.cmake
CMake Warning at cmake/modules/LLDBConfig.cmake:76 (message):
When building with Xcode, please use the corresponding cache script. Clean
your build directory and re-run CMake with:
-C /path/to/llvm-project/lldb/cmake/caches/Apple-lldb-Xcode.cmake
See: https://lldb.llvm.org/resources/build.html#cmakegeneratedxcodeproject
Also set the generator inside the cache script.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D65797
Files:
lldb/cmake/caches/Apple-lldb-Xcode.cmake
lldb/cmake/modules/LLDBConfig.cmake
lldb/docs/resources/build.rst
Index: lldb/docs/resources/build.rst
===================================================================
--- lldb/docs/resources/build.rst
+++ lldb/docs/resources/build.rst
@@ -320,7 +320,7 @@
llvm-project/llvm
> ninja -C /path/to/llvm-build
- > cmake -B /path/to/lldb-build -G Xcode \
+ > cmake -B /path/to/lldb-build \
-C /path/to/llvm-project/lldb/cmake/caches/Apple-lldb-Xcode.cmake \
-DLLVM_DIR=/path/to/llvm-build/lib/cmake/llvm \
-DClang_DIR=/path/to/llvm-build/lib/cmake/clang \
Index: lldb/cmake/modules/LLDBConfig.cmake
===================================================================
--- lldb/cmake/modules/LLDBConfig.cmake
+++ lldb/cmake/modules/LLDBConfig.cmake
@@ -71,6 +71,16 @@
"Directory to emit dSYM files stripped from executables and libraries (Darwin Only)")
endif()
+if(APPLE AND CMAKE_GENERATOR STREQUAL Xcode)
+ if(NOT LLDB_EXPLICIT_XCODE_CACHE_USED)
+ message(WARNING
+ "When building with Xcode, please use the corresponding cache script. "
+ "Clean your build directory and re-run CMake with:\n"
+ " -C ${CMAKE_SOURCE_DIR}/cmake/caches/Apple-lldb-Xcode.cmake\n"
+ "See: https://lldb.llvm.org/resources/build.html#cmakegeneratedxcodeproject\n")
+ endif()
+endif()
+
if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows")
set(LLDB_EXPORT_ALL_SYMBOLS 0 CACHE BOOL
"Causes lldb to export all symbols when building liblldb.")
Index: lldb/cmake/caches/Apple-lldb-Xcode.cmake
===================================================================
--- lldb/cmake/caches/Apple-lldb-Xcode.cmake
+++ lldb/cmake/caches/Apple-lldb-Xcode.cmake
@@ -1,5 +1,11 @@
include(${CMAKE_CURRENT_LIST_DIR}/Apple-lldb-base.cmake)
-set(LLDB_BUILD_FRAMEWORK ON CACHE BOOL "")
+set(CMAKE_GENERATOR Xcode)
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.11 CACHE STRING "")
set(CMAKE_XCODE_GENERATE_SCHEME ON CACHE BOOL "")
+
+set(LLDB_BUILD_FRAMEWORK ON CACHE BOOL "")
+
+# Print a warning with instructions, if we
+# build with Xcode and didn't use this cache.
+set(LLDB_EXPLICIT_XCODE_CACHE_USED ON CACHE INTERNAL "")
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D65797.213564.patch
Type: text/x-patch
Size: 2096 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20190806/819eed13/attachment.bin>
More information about the lldb-commits
mailing list