Найти в Дзене
CMake

CMake

Подборка материалов, описывающих работу с CMake на примерах.
подборка · 7 материалов
4 месяца назад
CMake от начинающего до опытного. Часть 7 - Автоматизируем выявление ошибок в программе при помощи Valgrind.
Иногда после внесения изменений в исходный код и запуска программы появляются странные ошибки. Например, программа зависает, не реагируя на действия пользователя, и аварийно завершается(падает). Либо зависания не происходит, но программа падает. Иногда даже анализ логов не добавляет ясности, так как падение происходит в том месте исходного кода, которое не вызывает подозрений (по крайней мере на первый взгляд). Некоторые ошибки можно выявить при прогоне тестов. Но они не всегда помогают. Теоретически...
6 месяцев назад
CMake от начинающего до опытного. Часть 6 - Собираем отчеты о покрытии кода тестами.
В одной из предыдущих статей я начал тему тестирования. Сегодня продолжим развивать ее и посмотрим как тестирование помогает нам в процессе разработки. Как известно, написание исходного кода программы - это только пол дела. Кроме этого необходимо убедиться в том что созданный код работает правильно, а также в том, что изменения, внесенные в программу, не сломали какую-то часть ее функционала. Для этого код снабжается тестами, которые должны регулярно выполняться, например в автоматическом режиме в процессе непрерывной интеграции (continous integration)...
8 месяцев назад
CMake от начинающего до опытного. Часть 5 - Используем пакетный менеджер Conan для подключения библиотеки.
Conan - это менеджер зависимостей и пакетов для языков C и C++ с открытым исходным кодом. Работает на всех платформах Windows, Linux, OSX, FreeBSD, Solaris и т. д. и может использоваться для разработки для множества платформ, включая мобильные (iOS, Android). Он также интегрируется с многими системами управления сборкой, такими как CMake, Visual Studio (MSBuild), Makefile и т.д. Conan построен в соответствии с архитектурой клиент-сервер. Это означает, что клиенты могут извлекать пакеты с различных серверов («удаленные серверы»), а также загружать пакеты на них...
8 месяцев назад
CMake от начинающего до опытного. Часть 4 - Подключаем к проекту библиотеку для тестирования.
Работа с современными программными проектами затруднительна без использования сторонних библиотек. Такие библиотеки часто называют внешними зависимостями. Таким образом эффективное управление зависимостями является одной из важных задач для команды разработчиков. При этом ручное управление часто требует много времени на настройку и постоянную поддержку зависимостей. К счастью для автоматизации решения данной задачи отлично подходит CMake. Так как CMake фактически является стандартом в области автоматизации сборки, то многие библиотеки (их также называют пакетами) совместимы с ней...
8 месяцев назад
Задаем цели CMake проекта и улучшаем его структуру.
В предыдущей статье мы создали простой проект при помощи CMake и начали рассматривать конструкции языка описания сборки. Одним из недостатков полученного файла CMakeLists.txt является то, что в него включен список всех исходников, что нормально для небольшого проекта, но становится проблемой по мере его увеличения. Дерево проекта имеет следующий вид. Вынесем список исходников в отдельный файл sources.cmake, поместив этот файл в директорию src. sources.cmake set(sources src/main.cpp src/arithmetic...
8 месяцев назад
CMake от начинающего до опытного. Часть 2 - Создаем первый проект.
Приступим к практической работе с CMake. Как было сказано в предыдущей статье, CMake - это средство автоматизации сборки ПО. Оно не может ничего построить самостоятельно. Поэтому перед установкой CMake необходимо, как минимум, установить компилятор. Для операционных систем семейства Linux и языка С++ наиболее популярными являются компиляторы g++ и clang++. Для проверки примеров статей из данной серии я использую операционную систему Ubuntu 20.04 и компилятор g++ . Вначале проверим наличие g++ в системе командой g++ --version...