设置CMake模块搜索路径

时间:2012-01-28 02:10:30

标签: macos cmake

我写了一个CMake模块来查找libclang:

find_path(LibClang_INCLUDE_DIR clang-c/Index.h)
find_library(LibClang_LIBRARY NAMES clang)

但我已经通过MacPorts将libclang安装到/opt/local/libexec/llvm-3.0/lib/opt/local/libexec/llvm-3.0/include。由于这不是正常的系统位置,因此CMake找不到它。

显示CMake的最佳方式是什么?我怎样才能找到CMake在哪里搜索?我不认为将库移到更正常的位置是一种选择,因为我不想把东西从MacPorts放置的地方移开,而且我的系统上也有Apple官方的clang二进制文件(不包括libclang)。 / p>

1 个答案:

答案 0 :(得分:1)

添加HINTS or PATHS flag以建议搜索位置。

如果您想要包含非标准位置的一般方法,您可以做两件事。一个是确保用户知道将非标准位置放在LD_LIBRARY_PATH环境变量上,然后将其作为find_path的提示和find_library的{​​{1}}建议。

另一种选择是放置一个自定义环境变量,并告诉用户如果它是非标准的,则设置它。例如,ENV LD_LIBRARY_PATH,并将其包含在HINTS中。

当然,你可以做到这两点,这将是最一般的。