为依赖于LLVM的项目创建CMakeLists

时间:2014-06-15 06:01:54

标签: c++ cmake llvm

我决定为我的语言项目尝试LLVM和CMake构建系统,但我不确定如何为它生成适当的跨平台CMakeLists。正在运行" llvm-config --libs"返回大约一百个图书馆(我还不确定我实际需要哪一个)和" - cxxflags"给我g ++特定的标志(我不知道它们如何转换为其他编译器)。

有没有办法从llvm-config获取不同编译器的输出? (也许这取决于如何编译llvm?) 如果是这样,我可以从CMakeLists运行llvm-config并使用其输出而不是硬编码吗? 否则,有哪些可维护的替代方案?

1 个答案:

答案 0 :(得分:0)

llvm-config --cxxflags将首先使用您构建LLVM的编译器。因此,如果您打算使用它并使用与g ++不同的编译器构建LLVM(默认),那么您需要使用不同的编译器构建LLVM本身 - 或者首先不使用llvm-config

我去了前一条路线,所以我创建了一个build.sh,其中包含:

CC=clang CXX=clang++ cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=1  -DLLVM_T
ARGETS_TO_BUILD=X86 ../llvm
make

然后我有一个使用llvm-config来定义标志等的makefile(我不会使用CMake,但是这个概念应该可以很容易地转移到CMake )。请参阅:https://github.com/Leporacanthicus/lacsap/blob/master/Makefile