This revision was automatically updated to reflect the committed changes. Closed by commit rL372210: [lldb][CMake] Infer `Clang_DIR` if not passed explicitly (authored by stefan.graenitz, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits.
Changed prior to commit: https://reviews.llvm.org/D65798?vs=214139&id=220643#toc Repository: rL LLVM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D65798/new/ https://reviews.llvm.org/D65798 Files: lldb/trunk/cmake/modules/LLDBStandalone.cmake lldb/trunk/docs/resources/build.rst Index: lldb/trunk/docs/resources/build.rst =================================================================== --- lldb/trunk/docs/resources/build.rst +++ lldb/trunk/docs/resources/build.rst @@ -120,10 +120,11 @@ ***************** 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 @@ 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 @@ > 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 Index: lldb/trunk/cmake/modules/LLDBStandalone.cmake =================================================================== --- lldb/trunk/cmake/modules/LLDBStandalone.cmake +++ lldb/trunk/cmake/modules/LLDBStandalone.cmake @@ -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")
Index: lldb/trunk/docs/resources/build.rst =================================================================== --- lldb/trunk/docs/resources/build.rst +++ lldb/trunk/docs/resources/build.rst @@ -120,10 +120,11 @@ ***************** 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 @@ 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 @@ > 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 Index: lldb/trunk/cmake/modules/LLDBStandalone.cmake =================================================================== --- lldb/trunk/cmake/modules/LLDBStandalone.cmake +++ lldb/trunk/cmake/modules/LLDBStandalone.cmake @@ -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")
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits