在 CMake 中设置 Clang 库的路径
Setting path to Clang library in CMake
我从 git 构建 llvm 并想在项目中使用这些库,尤其是 libclang。
"makefiles" 是通过 CMake 生成的,对于 LLVM 部分,我找到了设置 LLVM_DIR
来重新路由 llvm 库的路径,但是对于 Clang,我找不到这样的变量,我仍然在我的link行(Cygwin系统):
/usr/lib/libclang.dll.a /usr/lib/libclangTooling.dll.a
.
问题:我应该设置哪个环境变量来获得正确的构建 Clang 库?
变量为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)
我从 git 构建 llvm 并想在项目中使用这些库,尤其是 libclang。
"makefiles" 是通过 CMake 生成的,对于 LLVM 部分,我找到了设置 LLVM_DIR
来重新路由 llvm 库的路径,但是对于 Clang,我找不到这样的变量,我仍然在我的link行(Cygwin系统):
/usr/lib/libclang.dll.a /usr/lib/libclangTooling.dll.a
.
问题:我应该设置哪个环境变量来获得正确的构建 Clang 库?
变量为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)