CMake

  • ХабрахабрФото [Перевод] История успешного перевода ScreenPlay с QMake на CMake

    [Перевод] История успешного перевода ScreenPlay с QMake на CMake

    ScreenPlay — это опенсорсное приложение для Windows (а скоро — ещё и для Linux и macOS), предназначенное для работы с обоями и виджетами. Оно создано с использованием современных инструментов (C++/Qt/QML), активная работа над ним ведётся с первой половины 2017 года. Код проекта хранится на платформе GitLab. Автор статьи, перевод которой мы сегодня публикуем, занимается разработкой ScreenPlay. Он столкнулся с рядом…

    Читать далее »
  • ХабрахабрФото CLion 2020.2: поддержка проектной модели Makefile, больше C++20 и не только

    CLion 2020.2: поддержка проектной модели Makefile, больше C++20 и не только

    Привет, Хабр! У нашей команды выдалось очень насыщенное лето, результатами которого мы и спешим сегодня поделиться. Итак, встречайте новый релиз CLion 2020.2! Коротко о том, что вошло в новую версию: Поддержка проектной модели Makefile. Последние обновления в CMake. Новые возможности C++20: explicit(bool), назначенные инициализаторы (designated initializers), циклы for на основе диапазонов с инициализаторами. Обновленный статический анализатор кода: анализ на висячие…

    Читать далее »
  • ХабрахабрФото [Из песочницы] Использование GitHub Actions с C++ и CMake

    [Из песочницы] Использование GitHub Actions с C++ и CMake

    Привет, Хабр! Предлагаю вашему вниманию перевод статьи "Using GitHub Actions with C++ and CMake" о сборке проекта на C++ с использованием GitHub Actions и CMake автора Кристиана Адама. Использование GitHub Actions с C++ и CMake В этом посте я хочу показать файл конфигурации GitHub Actions для проекта C++, использующего CMake. GitHub Actions это предоставляемая GitHub инфраструктура CI/CD. Сейчас GitHub Actions…

    Читать далее »
  • ХабрахабрФото Оптимизация CMake для статических библиотек

    Оптимизация CMake для статических библиотек

    Наверное никому из нас не нравится долго ждать завершения сборки проекта, когда каждая секунда похожа на вечность. И хорошо, если это рабочие часы, и скоротать время можно за кружечкой кофе, обсуждая все недостатки автоматической сборки мусора. Иногда, определенных успехов можно добиться, выполнив оптимизацию CMake. Рассматриваемый здесь прием основывается на простой идее: две статические библиотеки, использующие функции друг друга, могут собираться…

    Читать далее »
  • ХабрахабрФото CMake: тот случай, когда проекту непростительно качество его кода

    CMake: тот случай, когда проекту непростительно качество его кода

    CMake — это кроссплатформенная система автоматизации сборки проектов. Эта система намного старше, чем статический анализатор кода PVS-Studio, при этом ещё никто не попробовал применить его к коду и сделать обзор ошибок. Ошибок, оказывается, много. Аудитория CMake огромна. На нём начинаются новые проекты и переносятся старые. Страшно представить, у скольких программистов могла проявиться та или иная ошибка. Введение CMake (от англ.…

    Читать далее »
  • ХабрахабрФото Независимый обзор PVS-Studio (Linux, C++)

    Независимый обзор PVS-Studio (Linux, C++)

    И вот что из этого получилось. Увидел публикацию о том, что PVS таки научился анализировать под Линуксами, и решил попробовать на своих проектах. Содержание Плюсы Минусы Итоги Послесловие Отзывчивая поддержка Я запросил пробный ключ, в тот же день мне его прислали. Достаточно понятная документация Справка к консольным командам также имеется (хотя тут есть нарекания, см. Запустить анализатор удалось без особых…

    Читать далее »
  • ХабрахабрФото Знакомство со статическим анализатором PVS-Studio при разработке C++ программ в среде Linux

    Знакомство со статическим анализатором PVS-Studio при разработке C++ программ в среде Linux

    PVS-Studio поддерживает анализ проектов на языках C, C++, C# и Java. Использовать анализатор можно под системами Windows, Linux и macOS. В этой заметке речь пойдет об анализе кода, написанного на C и C++ в среде Linux. Установка Установить PVS-Studio под Linux можно разными способами, в зависимости от типа дистрибутива. Наиболее удобный и предпочтительный способ – использование репозитория: так это позволяет…

    Читать далее »
  • ХабрахабрФото CMake и C++ — братья навек

    CMake и C++ — братья навек

    И очень люблю CMake, потому что он позволяет мне делать всё то, что я хочу. В процессе разработки я люблю менять компиляторы, режимы сборки, версии зависимостей, производить статический анализ, замерять производительность, собирать покрытие, генерировать документацию и т.д. Многие ругают CMake, и часто заслуженно, но если разобраться, то не всё так плохо, а в последнее время очень даже неплохо, и направление…

    Читать далее »
  • ХабрахабрФото STL интерфейс Berkeley DB

    STL интерфейс Berkeley DB

    Не так давно для одного моего проекта понадобилась встраиваемая база данных, которая бы хранила элементы в виде ключ-значение, обеспечивала поддержку транзакций, и, опционально, шифровала данные. Привет, Хабр. Кроме нужных мне возможностей, эта БД предоставляет STL-совместимый интерфейс, который позволяет работать с базой данных, как с обычным (почти обычным) STL-контейнером. После непродолжительных поисков, я наткнулся на проект Berkeley DB. Собственно про этот…

    Читать далее »
  • ХабрахабрФото Встраиваем Lua интерпретатор в проект для микроконтроллера (stm32)

    Встраиваем Lua интерпретатор в проект для микроконтроллера (stm32)

    Эту часть программы удобно отлаживать на компьютере, после чего встраивать в состав проекта для микроконтроллера, ожидая, что эта часть будет выполняться в точности так, как было задумано без какой-либо отладки (идеальный случай). В достаточно крупных приложениях немалую часть проекта составляет бизнес-логика. Данный подход предоставляет требуемый уровень абстракции над железом, однако чреват надобностью в постоянной повторной компиляции проекта с последующим программированием…

    Читать далее »


Кнопка «Наверх»