Настройка пути поиска модуля CMake - PullRequest
1 голос
/ 28 января 2012

Я написал модуль CMake для поиска libclang:

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

Но я установил libclang через MacPorts на /opt/local/libexec/llvm-3.0/lib и /opt/local/libexec/llvm-3.0/include.Поскольку это не нормальное системное местоположение, CMake не находит его.

Какой лучший способ показать CMake, где он находится?Как я могу узнать, где CMake ищет?Я не думаю, что переместить библиотеку в более нормальное место - это вариант, потому что я не хочу перемещать вещи туда, куда их помещает MacPorts, и у меня также есть официальные бинарные файлы clang от Apple (не включая libclang) в моей системе

1 Ответ

1 голос
/ 28 января 2012

Добавьте флаг HINTS или PATHS , чтобы указать места для его поиска.

Если вы хотите сделать общий способ включения нестандартных местоположений, вы можете сделать две вещи. Во-первых, убедитесь, что пользователи знают, как поместить нестандартное местоположение в переменную окружения LD_LIBRARY_PATH, а затем предложите в качестве подсказки find_path и find_library с ENV LD_LIBRARY_PATH.

Другой вариант - поместить пользовательскую переменную среды и указать пользователям, что она должна быть установлена, если она нестандартная. Например, CLANG_ROOT, и включите это в HINTS.

Конечно, вы можете сделать и то и другое, и это будет самым общим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...