[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 09:19:51 PDT 2019


sgraenitz updated this revision to Diff 213637.
sgraenitz marked an inline comment as done.
sgraenitz added a comment.

Improve warning message


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D65797/new/

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, we recommend using the corresponding cache script. "
+      "If this was a mistake, clean your lean 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.213637.patch
Type: text/x-patch
Size: 2132 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20190806/da64c1b6/attachment.bin>


More information about the lldb-commits mailing list