CMAKE_FIND_PACKAGE_PREFER_CONFIG
Добавлено в версии 3.15.
Указывает find_package() сначала попробовать режим «Config», а не режим «Module», если режим не был указан.
Команда find_package() работает без явно заданного режима, если используется сокращённая сигнатура без параметра MODULE. В этом случае по умолчанию CMake сначала пытается использовать режим Module, выполняя поиск модуля Find<pkg>.cmake. Если поиск не удаётся, CMake затем ищет пакет в режиме Config.
Установите CMAKE_FIND_PACKAGE_PREFER_CONFIG в значение TRUE, чтобы указать find_package() сначала выполнять поиск в режиме Config, а затем, если он не увенчается успехом, переходить к режиму Module.
Эта переменная может быть полезна, если разработчик собрал пользовательскую версию распространённой библиотеки и хочет связать её с зависимым проектом. Если установить эту переменную в значение TRUE, вызов find_package() в зависимом проекте не выберет библиотеку по умолчанию, найденную системным модулем Find<pkg>.cmake, прежде чем будет найдена пользовательская сборка библиотеки разработчика.
После установки этой переменной экспортируемые файлы <pkg>Config.cmake должны предоставлять те же переменные результата, что и модули Find<pkg>.cmake, чтобы зависимые проекты могли взаимозаменяемо использовать их.
© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/variable/CMAKE_FIND_PACKAGE_PREFER_CONFIG.html