【问题标题】:Setting path to Clang library in CMake在 CMake 中设置 Clang 库的路径
【发布时间】:2019-04-30 13:12:38
【问题描述】:
我从 git 构建 llvm 并希望在项目中使用这些库,尤其是 libclang。
“makefile”是通过 CMake 生成的,对于 LLVM 部分,我找到了设置 LLVM_DIR 来重新路由 llvm 库的路径,但是对于 Clang,我找不到这样的变量,我仍然在我的链接行中看到(它是 Cygwin 系统):
/usr/lib/libclang.dll.a /usr/lib/libclangTooling.dll.a.
问题:我应该设置哪个环境变量来获得正确的构建 Clang 库?
【问题讨论】:
标签:
cmake
clang
llvm
llvm-clang
【解决方案1】:
变量是Clang_DIR。
以防万一,我还附上了CMakeLists.txt 文件的简约示例。
cmake_minimum_required(VERSION 3.12)
# Find CMake file for Clang
find_package(Clang REQUIRED)
# Add path to LLVM modules
set(CMAKE_MODULE_PATH
${CMAKE_MODULE_PATH}
"${LLVM_CMAKE_DIR}"
)
# import LLVM CMake functions
include(AddLLVM)
include_directories(${LLVM_INCLUDE_DIRS})
include_directories(${CLANG_INCLUDE_DIRS})
add_definitions(${LLVM_DEFINITIONS})
add_definitions(${CLANG_DEFINITIONS})
add_llvm_executable(myTool main.cpp)
set_property(TARGET myTool PROPERTY CXX_STANDARD 11)
target_link_libraries(myTool PRIVATE clangTooling)