Я много работаю с CMake. И периодически сталкиваюсь с довольно сложными и запутанными CMake-скриптами. Долгое время я использовал логи, чтобы разобраться в их работе и выполнить отладку. Позже обнаружил, что в CMake есть встроенный отладчик и профилировщик, которые сильно упрощают процесс отладки. Кажется, не все знают об их существовании и о том, как с ними работать, поэтому я решил написать эту статью.
Рубрика «cmake»
Как победить CMake: отладка CMake-скриптов
2025-09-26 в 8:19, admin, рубрики: build, build system, C, c++, cmake, cmake инструкция, debug, debugger, guide, гайдИграем в старый мобильный Minecraft… на ПК без эмуляторов?
2025-05-15 в 9:15, admin, рубрики: cmake, minecraft, minecraft pi edition, Minecraft Pocket Edition, python, Visual Studio, игрыДобрый день! Сегодня речь пойдет о Minecraft PE - в основном для тех, кто хочет окунуться в ностальгию по старым версиям именно мобильного (карманного) издания. Способ поиграть весьма нетривиальный, зато удивит последующими возможностями игры.
Погружение в контекст
Сборка на CMake для новичка
2025-04-28 в 6:16, admin, рубрики: cmake, cmake инструкция, новичкам, сборка из исходников, сборка проектаВсем привет! На написание данной статьи меня толкнула суровая реальность и лень разбираться с английскими текстами о том, что и куда жмать, дабы собрать адекватный проект на CMake.
Установка CMake тут не рассматривается, вот ссылки:
Все будет происходить из-под Windows, структурно мало чем будет отличаться от Linux, кроме команд для сборки.
Для начала предлагаю разобраться со структурой проекта в целом:
Читать полностью »
Столкнулся я с ситуацией, в которой нужно было собирать OpenSSL под разные операционные системы и архитектуры процессоров. В сумме насчитывается 5 сборок.
Главной проблемой сборки OpenSSL выступает система сборки - Autotools, ее сложно интегрировать в CMake. В данной статье рассмотрим как приложив минимальное количество усилий перенести сборку OpenSSL на CMake.
Сборка OpenSSL для Linux систем выглядит так:
chmod +x ./Configure
./Configure [target-arch] [flags]
make clean
make -j 6
make install
Нативная сборка под Windows примерно так:
call "<Path for Visual studio toolkit>/vcvars32.bat"
rem или "<Path for Visual studio toolkit>/vcvars64.bat"
perl Configure [target-arch] [flags]
nmake clean
nmake
История C и C++. Часть вторая: стандартизация C и C++, Qt, Clang, Unreal Engine
2025-02-18 в 7:43, admin, рубрики: C, c++, c++11, c++17, C++20, c++23, clang, cmake, qt, Unreal EngineВторая часть истории о том, как C и C++ стали такими, какими мы их знаем сегодня. Здесь расскажем об официальной сертификации C и C++, а также о вышедших инструментах в период с 1991 года и до наших дней.

1994 — Разработка языка с видом от первого лица
Сборка проектов Си и Си++: от простого к сложному. Часть II. Сборщики
2025-02-07 в 9:01, admin, рубрики: C, c++, cmake, make, makefile, ruvds_статьи, сборка из исходников, сборка программ, сборка проекта
Продолжаю тему о сборке проектов на Си и Си++, первая часть которой размещена здесь.
Рецепты сборки по правилам хорошего тона должны поставляться с проектом и очень желательно, чтобы они не были привязаны к конкретной ОС или хотя бы к конкретному дистрибутиву Linux, используя специфические команды вроде apt-get, yum, emerge. Если это небольшой пет-проект выходного дня, то, конечно, в качестве рецепта сгодится и bash-скрипт. Пользователи адаптируют. Но если к проекту подключаются другие разработчики, то лучше потратить время на автоматизацию сборки, чтобы не терять его оптом в будущем. В этой части речь пойдёт об инструментах, которые используются для автоматизации процесса сборки программного обеспечения.Читать полностью »
Сборка проектов Си и Си++: от простого к сложному. Часть I. Библиотеки
2025-01-28 в 13:01, admin, рубрики: C, c++, cmake, make, makefile, ruvds_статьи, сборка из исходников, сборка программ, сборка проекта
Каждый раз, в течение многих лет, собирая пилотную версию мизерного проекта или простой утилиты, мне кажется, что уж в этот раз точно обойдусь обычным скриптом для сборки, и никакие сборщики проекта мне не понадобятся. Но суровая реальность приводит меня в чувство уже в течение первых нескольких минут работы. Сначала оказывается, что до невозможности простая программка нуждается в JSON-парсере, HTTP-запросах CURL и прочих библиотеках. А по мере возбуждения хотелок эти все зависимости нарастают как снежный ком. И все мечты быстро скомпилировать страничку кода встречают на каждом шаге всё новые и новые проблемы.
Вот сегодня и расскажу о том, какие бывают способы борьбы с зависимостями и сборки проекта из множества файлов на Си++. Заодно те, кто не любят Си++, смогут порадоваться «прелестям» этого процесса. И хоть тема очень важная для программистов, но я обратил внимание, что даже многолетний опыт не гарантирует понимания этих процессов. Но сразу предупреждаю — история длинная даже с учетом всех попыток не убегать на смежные темы.Читать полностью »
Создаем свою простую (C++) библиотеку с документацией, CMake и блекджеком
2024-09-26 в 8:05, admin, рубрики: c++, cmake, doxygen, github, open source, библиотека, создание библиотеки, создание проектаВ мире программирования создание собственных библиотек — это не просто возможность пополнения своего портфолио или способ структурировать код, а настоящий акт творческого самовыражения (и иногда велосипедостроения). Каждый разработчик иногда использовал в нескольких своих проектах однообразный код, который приходилось каждый раз перемещать. Да и хотя бы как упаковать свои идеи и знания в удобный и доступный формат, которым можно будет поделиться с сообществом.
Если вы ловили себя на мысли: «А почему мне бы не создать свою полноценную библиотеку?», то я рекомендую прочитать вам мою статью.
Telegram API и библиотека TDLib для .NET платформ
2023-06-16 в 14:01, admin, рубрики: .net, .net core, C#, cmake, MSVC, openssl, TDLib, telegram, telegram api, timeweb_статьи, zlib, Блог компании Timeweb Cloud
Доброго времени суток! В Telegram существует два вида API: Telegram Bot API (обыкновенный бот с пометкой "бот") и Telegram API (клиент и юзербот, который обладает больше функционалом, чем просто бот). В этой статье пойдет речь о втором виде, а именно: что требуется для взаимодействия с Telegram API, какие средства нужны для написания кода своего юзербота на языке C#, как их правильно установить, а также каким образом использовать их.Читать полностью »
Прошивка и отладка STM32 в VSCode под Windows
2023-01-28 в 14:28, admin, рубрики: cmake, openocd, scoop, st-utility, stm32, vscode, windows, отладка, пакетный менеджер, программирование микроконтроллеровНа хабре уже есть немало информации об отладке МК в VSCode на Linux (тыц, тыц), также было написано как настроить тулчейн для работы под Windows в QT Creator, Eclipse, etc.
Пришло и моё время написать похожую статью, но для VS Code и под Widnows.
Инициализация проекта будет проводиться с помощью STM32CubeMX. Сборкой будет управлять CMake с тулчейном stm32-cmake. В качестве компилятора используется ARM GNU Toolchain. Тестовым стендом является NUCLEO-F446ZE.
Источниками вдохновения послужили:
-
Репозиторий stm32-template
-
Видео EbeddedGeek
-
Видео Читать полностью »
