David Farler
2014-Sep-09 05:18 UTC
[LLVMdev] Can't build against LLVM-3.5 with CMake: CMakeExports.cmake broken?
Hi all, I can't seem to get the simplest CMakeLists.txt file working from http://llvm.org/docs/CMake.html#embedding-llvm-in-your-project. Do any of the LLVM projects use `find_package(LLVM REQUIRED CONFIG)`? Should I just be using `llvm-config` directly? http://llvm.org/bugs/show_bug.cgi?id=20884 David
Dan Liew
2014-Sep-09 07:04 UTC
[LLVMdev] Can't build against LLVM-3.5 with CMake: CMakeExports.cmake broken?
On 9 Sep 2014 06:49, "David Farler" <accumulator at icloud.com> wrote:> > Hi all, > > I can't seem to get the simplest CMakeLists.txt file working fromhttp://llvm.org/docs/CMake.html#embedding-llvm-in-your-project. Do any of the LLVM projects use `find_package(LLVM REQUIRED CONFIG)`? This should work. Are you building LLVM with CMake or Autoconf/Makefile build system? If you build with CMake you can build your application using the LLVM build or install directory. If you built LLVM with Autoconf/Makefiles then you can only build your application using the LLVM install directory. Should I just be using `llvm-config` directly? No. If you are using CMake this is the right way to do it. When I'm at a real computer rather than my phone I'll take a proper look. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140909/67a291af/attachment.html>
Dan Liew
2014-Sep-09 11:09 UTC
[LLVMdev] Can't build against LLVM-3.5 with CMake: CMakeExports.cmake broken?
Hi,
I can't reproduce your issue on the LLVM 3.5 release branch or trunk
it. Looking at your bug report I think your install is messed up
```
CMake Error at /usr/local/Cellar/llvm/HEAD/share/llvm/cmake/LLVMExports.cmake:6
(set_property):
set_property could not find TARGET LLVMSupport. Perhaps it has not yet
been created.
Call Stack (most recent call first):
/usr/local/share/llvm/cmake/LLVMConfig.cmake:50 (include)
CMakeLists.txt:4 (find_package)
```
/usr/local/share/llvm/cmake/LLVMConfig.cmake seems to calling
/usr/local/Cellar/llvm/HEAD/share/llvm/cmake/LLVMExports.cmake which
doesn't make sense. I would try cleaning up your install and start
again. If you intend to working with different versions of LLVM I
don't think it's a good idea to install it anyway. You can just build
your project against the LLVM build directory and add the LLVM tools
to your PATH when you need to.
I have a simple example project that uses ``find_package(LLVM)``.
Here are the steps I followed to build (I build against the LLVM build
directory and don't bother installing it)
$ mkdir tutorial/
# Build LLVM
$ mkdir llvm/
$ cd llvm/
$ svn co http://llvm.org/svn/llvm-project/llvm/branches/release_35 src
$ mkdir build
$ cd build
$ cmake -G Ninja ../src
$ ninja
# This is just for convenience when setting LLVM_DIR later on.
$ LLVM_BUILD_ROOT="$(pwd)"
# Build simple tutorial project
$ cd ../
$ mkdir srg-llvm-pass-tutorial
$ git clone https://github.com/delcypher/srg-llvm-pass-tutorial.git src
$ mkdir build
$ cd build/
# I'm assuming your shell will example ${LLVM_BUILD_ROOT} before invoking
cmake
$ cmake -DLLVM_DIR:PATH=${LLVM_BUILD_ROOT}/share/llvm/cmake/ -G Ninja ../src
$ ninja
Hope that helps
Dan.
Possibly Parallel Threads
- [LLVMdev] Can't build against LLVM-3.5 with CMake: CMakeExports.cmake broken?
- [LLVMdev] Can't build against LLVM-3.5 with CMake: CMakeExports.cmake broken?
- [LLVMdev] problem with my LLVM pass
- [LLVMdev] problem with my LLVM pass
- [LLVMdev] Can't build against LLVM-3.5 with CMake: CMakeExports.cmake broken?