Hyde is a clangTooling-based frontend that compiles C++ into documentation boilerplate ready for consumption by Jekyll. We use CMake for our project setup, and on macOS we are using Homebrew to download/install Clang and LLVM.
The issue we are hitting is that the CMake script generates an Xcode project that links to
libLLVM.dylib, requiring that it be present on all machines that are going to run the tool:
I would like to change this such that LLVM is statically linked into the artifact instead. The clangTooling libraries are already linked in this way. I can see static libraries for LLVM alongside
LLVM.dylib, so I am reasonably confident this is possible, but I do not know the CMake invocation to make it happen. I have tried setting CMake parameters in
CMakeLists.txt to be explicit about the need for static libraries, to no avail:
find_package(Clang REQUIRED clangTooling libClang clangASTMatchers) find_package(Clang REQUIRED CONFIG) find_package(LLVM REQUIRED CONFIG) if(APPLE) set(LLVM_LINK_LLVM_DYLIB OFF) set(CLANG_LINK_CLANG_DYLIB "OFF") set(DISABLE_LLVM_LINK_LLVM_DYLIB ON) endif()
Would anyone know what must do to
CMakeLists.txt to get LLVM to link statically into my final artifact?
(I apologize; I asked this same question in the LLVM Beginners forum some months back, and received no replies. I am starting to wonder if this category would be a better place to ask, so have duplicated it here. If there’s a way to move the original question or otherwise practice better forum etiquette, let me know.)