CMake и примеры

CMake для проектов на C++ и Qt: структура CMakeLists.txt, подключение библиотек, сборка под разные платформы, типичные ошибки конфигурации. Примеры от минимального проекта до многомодульной сборки с тестами.

Cmake

CMake: организация многомодульного Qt-проекта (target_link_libraries, INTERFACE)

Введение По мере роста Qt-проекта единый монолитный CMakeLists.txt со всеми исходниками становится неудобен: компиляция замедляется, границы между подсистемами размываются, а повторное использование кода в других проектах требует копирования…

Cmake

Подключение сторонних библиотек в Qt через FetchContent в CMake

Введение Раньше подключение сторонней библиотеки в C++-проект означало либо ручную установку через системный пакетный менеджер, либо копирование исходников в репозиторий (vendoring), либо submodule Git с дополнительной настройкой сборки.…

Cmake

vcpkg + Qt + CMake: управление зависимостями C++-проекта

Введение vcpkg — пакетный менеджер C/C++ от Microsoft, который заметно упрощает установку и связывание сторонних библиотек с CMake-проектом: вместо ручной компиляции зависимостей из исходников или установки через системные…

Cmake

Boost.Asio vs Qt Network: когда что выбрать

Введение И Boost.Asio, и Qt Network решают одну и ту же задачу — асинхронную сетевую работу — но делают это разными способами и в разных экосистемах. Если проект…

Cmake

Сборка Qt-проекта под разные платформы с помощью CMake presets

Введение Конфигурация CMake-проекта под несколько целевых платформ (Windows MSVC, Linux GCC, macOS Clang, кросс-компиляция под embedded) исторически решалась через длинные команды с десятками флагов -D, которые передавались вручную…

Cmake

CMake: настройка кросс-компиляции Qt-проекта под ARM

Введение Кросс-компиляция — сборка приложения на одной архитектуре (обычно x86_64) для запуска на другой (ARM, часто встречается в embedded Linux устройствах, Raspberry Pi, промышленных контроллерах) — требует toolchain-файла…

Cmake

CMake install() и упаковка Qt-приложения для распространения

Введение Сборка приложения — только часть пути; для передачи его конечным пользователям нужно собрать дистрибутив: исполняемый файл, нужные библиотеки Qt и плагины (платформенные, форматов изображений, стилей), ресурсы. CMake…