[Lldb-commits] [lldb] r372210 - [lldb][CMake] Infer `Clang_DIR` if not passed explicitly
Stefan Granitz via lldb-commits
lldb-commits at lists.llvm.org
Wed Sep 18 03:20:29 PDT 2019
Author: stefan.graenitz
Date: Wed Sep 18 03:20:28 2019
New Revision: 372210
URL: http://llvm.org/viewvc/llvm-project?rev=372210&view=rev
Log:
[lldb][CMake] Infer `Clang_DIR` if not passed explicitly
Summary:
If we only get `LLVM_DIR` and find Clang in the same provided build-tree, automatically infer `Clang_DIR` like this:
```
LLVM_DIR = /path/to/build-llvm/lib/cmake/llvm
Clang_DIR = /paht/to/build-llvm/lib/cmake/clang
```
Reviewers: JDevlieghere, jingham, xiaobai, compnerd, labath
Reviewed By: JDevlieghere, labath
Subscribers: mgorny, lldb-commits, #lldb
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D65798
Modified:
lldb/trunk/cmake/modules/LLDBStandalone.cmake
lldb/trunk/docs/resources/build.rst
Modified: lldb/trunk/cmake/modules/LLDBStandalone.cmake
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/cmake/modules/LLDBStandalone.cmake?rev=372210&r1=372209&r2=372210&view=diff
==============================================================================
--- lldb/trunk/cmake/modules/LLDBStandalone.cmake (original)
+++ lldb/trunk/cmake/modules/LLDBStandalone.cmake Wed Sep 18 03:20:28 2019
@@ -1,7 +1,7 @@
option(LLVM_INSTALL_TOOLCHAIN_ONLY "Only include toolchain files in the 'install' target." OFF)
-find_package(LLVM REQUIRED CONFIG HINTS "${LLVM_DIR}" NO_CMAKE_FIND_ROOT_PATH)
-find_package(Clang REQUIRED CONFIG HINTS "${Clang_DIR}" NO_CMAKE_FIND_ROOT_PATH)
+find_package(LLVM REQUIRED CONFIG HINTS ${LLVM_DIR} NO_CMAKE_FIND_ROOT_PATH)
+find_package(Clang REQUIRED CONFIG HINTS ${Clang_DIR} ${LLVM_DIR}/../clang NO_CMAKE_FIND_ROOT_PATH)
# We set LLVM_CMAKE_PATH so that GetSVN.cmake is found correctly when building SVNVersion.inc
set(LLVM_CMAKE_PATH ${LLVM_CMAKE_DIR} CACHE PATH "Path to LLVM CMake modules")
Modified: lldb/trunk/docs/resources/build.rst
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/docs/resources/build.rst?rev=372210&r1=372209&r2=372210&view=diff
==============================================================================
--- lldb/trunk/docs/resources/build.rst (original)
+++ lldb/trunk/docs/resources/build.rst Wed Sep 18 03:20:28 2019
@@ -120,10 +120,11 @@ Standalone builds
*****************
This is another way to build LLDB. We can use the same source-tree as we
-checked out above, but now we will have two build-trees:
+checked out above, but now we will have multiple build-trees:
* the main build-tree for LLDB in ``/path/to/lldb-build``
-* a provided build-tree for LLVM and Clang in ``/path/to/llvm-build``
+* one or more provided build-trees for LLVM and Clang; for simplicity we use a
+ single one in ``/path/to/llvm-build``
Run CMake with ``-B`` pointing to a new directory for the provided
build-tree\ :sup:`1` and the positional argument pointing to the ``llvm``
@@ -139,15 +140,15 @@ Clang. Then we build the ``ALL`` target
Now run CMake a second time with ``-B`` pointing to a new directory for the
main build-tree and the positional argument pointing to the ``lldb`` directory
-in the source-tree. In order to find the provided build-tree, the build-system
-needs the options ``LLVM_DIR`` and ``Clang_DIR`` (CMake variables are
-case-sensitive!):
+in the source-tree. In order to find the provided build-tree, the build system
+looks for the path to its CMake modules in ``LLVM_DIR``. If you use a separate
+build directory for Clang, remember to pass its module path via ``Clang_DIR``
+(CMake variables are case-sensitive!):
::
> cmake -B /path/to/lldb-build -G Ninja \
-DLLVM_DIR=/path/to/llvm-build/lib/cmake/llvm \
- -DClang_DIR=/path/to/llvm-build/lib/cmake/clang \
[<more cmake options>] /path/to/llvm-project/lldb
> ninja lldb
@@ -320,7 +321,6 @@ Build LLDB standalone for development wi
> 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 \
llvm-project/lldb
> open lldb.xcodeproj
> cmake --build /path/to/lldb-build --target check-lldb
More information about the lldb-commits
mailing list