Модульная система в Qt 5 при использовании CMake работает следующим образом: 1
- Поиск модулей. 1 Все модули, которые нужно использовать, находятся отдельными командами, например:
find_package(Qt5Widgets)
и find_package(Qt5Declarative)
. 1 - Определение местоположения библиотек и заголовочных файлов. 1 Кроме поиска зависимостей через Find-файл, CMake считывает файлы конфигурации для определения местоположения библиотек и заголовочных файлов. 1 Такие файлы обычно генерируются самим CMake. 1
- Доступ к функциям модулей. 1 Все модули Qt Essentials и Qt Addons создают свой собственный файл конфигурации CMake, и функции, предоставляемые модулями, сразу доступны через макросы и переменные CMake. 1
Для каждого модуля Qt 5 создаются импортированные цели. 2 Их следует использовать вместо переменных, таких как Qt5<Module>_LIBRARIES
, в командах CMake, например target_link_libraries
. 2 Для этого у каждого модуля в Qt 5 есть библиотека с конвентом именования Qt5::<Module>
. 2