我已经编写了一个CMake模块来查找libclang:
find_path(LibClang_INCLUDE_DIR clang-c/Index.h)
find_library(LibClang_LIBRARY NAMES clang)但是我已经通过MacPorts在/opt/local/libexec/llvm-3.0/lib和/opt/local/libexec/llvm-3.0/include上安装了libclang。因为这不是一个普通的系统位置,所以CMake找不到它。
告诉CMake它在哪里的最好方法是什么?如何才能找到CMake正在搜索的位置?我不认为将库移动到一个更正常的位置是一个可行的选择,因为我不想把东西从MacPorts放置它们的地方移开,而且我的系统上也有苹果官方的clang二进制文件(不包括libclang)。
发布于 2012-01-28 10:17:44
添加HINTS or PATHS flag以建议要搜索的位置。
如果你想制定一个包含非标准位置的通用方法,你可以做两件事。一个是确保用户知道将非标准位置放在LD_LIBRARY_PATH环境变量上,然后建议find_path和find_library使用ENV LD_LIBRARY_PATH。
另一种选择是放置一个自定义环境变量,并告诉用户设置它是否是非标准的。例如,CLANG_ROOT,并将其包含在提示中。
当然,你可以同时做这两件事,而且它是最通用的。
https://stackoverflow.com/questions/9042378
复制相似问题