繁体   English   中英

为依赖LLVM的项目创建CMakeLists

[英]Creating CMakeLists for a project that depends on LLVM

我决定为我的语言项目尝试LLVM和CMake构建系统,但是我不确定如何为其生成合适的跨平台CMakeLists。 运行“ llvm-config --libs”会返回大约一百个库(我仍然不确定我真正需要哪个库),而“ --cxxflags”会给我g ++特定的标志(我不知道它们如何转换为其他编译器)。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM