CMake получает список проверенных пакетов при сбое find_package - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть проект cmake, и я хочу получить информацию при сбое find_package.

Моя настройка такова: у меня есть проект, который собирает несколько библиотек и экспортирует цели.Пакет экспортируется в реестр пакетов CMake.Затем у меня есть другой проект, который зависит от него.

Дело в том, что проект библиотеки тоже имеет зависимости.Чтобы информировать импортирующий пакет, мы используем find_dependency в файле конфигурации.

Когда find_package(libs REQUIRED) не удается из-за отсутствующих зависимостей, я хотел бы извлечь путь к пробному пакету.Я бы использовал эту информацию, чтобы, возможно, обновить список префиксных путей, чтобы в следующий раз найти отсутствующие зависимости, но я хочу сделать это только в том случае, если причина неудачного импорта - отсутствие зависимостей.

Есть ли какие-либоспособ получить эту информацию в сбойном пакете поиска?

1 Ответ

0 голосов
/ 08 августа 2019

Из документации CMake для find_package:

Все файлы конфигурации, которые были рассмотрены CMake при поиске установки пакета с соответствующей версией, сохраняютсяв переменной cmake <PackageName>_CONSIDERED_CONFIGS, связанные версии в <PackageName>_CONSIDERED_VERSIONS.

Таким образом, используя <PackageName>_CONSIDERED_CONFIGS и <PackageName>_CONSIDERED_VERSIONS можно определить, какие пакеты нашел CMake.

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