[llvm] [CMake] Set LLVM_USE_LINKER for external projects when using lld (PR #170401)

Zachary Fogg via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 2 23:27:52 PST 2025


zfogg wrote:

@petrhosek I see. Well is it not a problem that this caused me a build error with no warning message? If I configure via cmake in a certain way without setting LLVM_USE_LINKER=lld, it won't build and there's no warning -- you have to wait until you're like an hour into the build before you get the error message! In my opinion that's a problem. The user should be told this.

Here's what I ran:

```bash
cmake -G Ninja -B build -S llvm \
    -DCMAKE_BUILD_TYPE=Release \
    -DLLVM_ENABLE_PROJECTS="libc;clang;clang-tools-extra;lld;lldb;mlir;polly;openmp" \
    -DLLVM_ENABLE_RUNTIMES="all" \
    -DLLVM_INCLUDE_DOCS=OFF \
    -DLLVM_INCLUDE_TESTS=OFF \
    -DLLVM_ENABLE_RTTI=ON \
    -DLLVM_CCACHE_BUILD=ON \
    -DLLVM_BINUTILS_INCDIR=/usr/include \
    -DLLVM_ENABLE_EH=OFF \
    -DLLVM_ENABLE_LIBCXX=ON \
    -DLLVM_ENABLE_LLVM_LIBC=ON \
    -DLLVM_ENABLE_LTO=Full \
    -DLLVM_OPTIMIZED_TABLEGEN=ON \
    -DLLVM_BUILD_LLVM_DYLIB=ON \
    -DLLVM_POLLY_LINK_INTO_TOOLS=ON \
    -DLLVM_BUILD_EXTERNAL_COMPILER_RT=ON \
    -DLLVM_LINK_LLVM_DYLIB=ON \
    -DLLVM_ENABLE_FFI=ON \
    -DLLVM_ENABLE_RTTI=ON \
    -DLLVM_INSTALL_UTILS=ON \
    -DLLVM_ENABLE_Z3_SOLVER=ON \
    -DLLVM_TARGETS_TO_BUILD="X86;AArch64" \
    -DLLVM_PARALLEL_LINK_JOBS=4 \
    -DLLVM_USE_RELATIVE_PATHS_IN_FILES=ON \
    -DLLVM_SOURCE_PREFIX=. \
    -DLLDB_USE_SYSTEM_DEBUGSERVER=ON \
    -DLLDB_ENABLE_PYTHON=ON \
    -DLLDB_ENABLE_LUA=OFF \
    -DLLDB_ENABLE_LZMA=ON \
    -DLIBOMP_INSTALL_ALIASES=OFF \
    -DLIBCXX_INSTALL_MODULES=ON \
    -DLLVM_CREATE_XCODE_TOOLCHAIN=OFF \
    -DCLANG_FORCE_MATCHING_LIBCLANG_SOVERSION=OFF \
    -DCLANG_CONFIG_FILE_USER_DIR=~/.config/clang

cmake --build build
```

These are all documented options that should work without failure but I had the build error I mentioned.

https://github.com/llvm/llvm-project/pull/170401


More information about the llvm-commits mailing list