llvm's cmake integration

2019-08-08 18:43发布

问题:

I'm currently building a compiler/interpreter in C/C++. When I noticed LLVM I thought it would fit greatly to what I needed and so I'm trying to integrate LLVM in my existing build system (I use CMake).

I read this bout integration of LLVM in CMake. I copy and pasted the example CMakeLists.txt, changed the LLVM_ROOT to ~/.llvm/ (that's where I downloaded and build LLVM and clang) and it says it isn't a valid LLVM-install. Best result I could achieve was the error message "Can't find LLVMConfig" by changing LLVM_ROOT to ~/.llvm/llvm.

My ~/.llvm/ folder looks like this:

~/.llvm/llvm         # this folder contains source files
~/.llvm/build        # this folder contains object, executable and library files

I downloaded LLVM and clang via SVN. I did not build it with CMake. Is it just me or is something wrong with the CMakeLists.txt?

回答1:

This CMake documentation page got rotted, but setting up CMake for LLVM developing isn't different from any other project. If your headers/libs are installed into non-standard prefix, there is no way for CMake to guess it.

You need to set CMAKE_PREFIX_PATH to the LLVM installation prefix or CMAKE_MODULE_PATH to prefix/share/llvm/cmake to make it work.

And yes, use the second code snippet from documentation (under Alternativaly, you can utilize CMake’s find_package functionality. line).



标签: cmake llvm