Index: lldb/trunk/cmake/caches/Apple-lldb-Xcode.cmake =================================================================== --- lldb/trunk/cmake/caches/Apple-lldb-Xcode.cmake +++ lldb/trunk/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 "") Index: lldb/trunk/cmake/modules/LLDBConfig.cmake =================================================================== --- lldb/trunk/cmake/modules/LLDBConfig.cmake +++ lldb/trunk/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/trunk/docs/resources/build.rst =================================================================== --- lldb/trunk/docs/resources/build.rst +++ lldb/trunk/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 \