Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Выборочная сборка плагинов — мы пойдём иным путём

Qt *
Всем хабрапривет!

Маленькая (ну очень маленькая) заметка о том, как дать плагину выбирать самому — собираться в данной системе или нет. Конечно, есть старый добрый способ — просто исключить сам лишний плагин из сборки, к примеру, так:

# plugins.pro

TEMPLATE=subdirs

SUBDIRS+=common
macx: SUBDIRS+=macplugin
win32: SUBDIRS+=winplugin

Но при таком подходе при добавлении каждого нового плагина надо его прописать в plugins.pro и установить для каких систем он будет собираться. Если плагинов всего-то 5 штук и больше не предвидится, то это нормально. Но если уже есть 20 плагинов, и ещё 30 планируется, причём многие из них должны собираться только под некоторые платформы, то plugins.pro превращается в помойку. Если разработчиков несколько, то это вносит ещё большую путаницу.
Распутаем это дело...
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 1.1K
Комментарии 12

Вставляем генератор кода в сборку qmake

Qt *
Лень — двигатель прогресса. Работая в программировании уже второй десяток лет, я до сих пор согласен с этим тезисом. Но в каждой шутке, как известно, есть доля шутки.
В данной статье речь пойдет о том, как заставить компьютер писать рутинный код за вас. Причём максимально автоматизировать этот процесс и интегрировать со сборкой проекта. Во всём этом нам поможет qmake

Зачем это нужно

В текущем моем проекте возникла необходимость применить объектный подход при работе с данными, физически хранящимися в реляционной БД. Стало быть, ORM. Так уж вышло, что данный проект корпоративного сегмента разрабатывается на Qt. Да, хоть это и прекраснейший фреймворк, но не вполне подходящий под задачи программирования сложных корпоративных приложений. Тем не менее, выбор в пользу Qt был сделан по ряду весьма веских причин.
Итак, есть небольшая реляционная БД из примерно 100 таблиц. Необходимо написать тонкий пока слой бизнес-логики, который в перспективе будет обрастать жирком. Имеется описание структуры БД в XML.
Можно засучить рукава и за неделю написать 100 однотипных классов бизнес-логики. Написать многочисленные тесты, сравнивающие эти классы, XML-описание метаданных и саму структуру БД. Но, это не подход настоящего джедая! Действительно, ведь у нас уже есть все необходимое для описания прототипов классов бизнес-логики, просто нужно превратить .xml в .h.
Читать дальше →
Всего голосов 24: ↑22 и ↓2 +20
Просмотры 5.6K
Комментарии 16

Qt Build System: спасательный круг для сборки

Qt *

Примечание(17.06.2013): синтаксис примеров в статье не соответствует последним версиям. Сверяйтесь с документацией. Также в марте был выпущен Qt Creator 2.7 с поддержкой QBS.
Не так давно команда разработчиков Qt представила новую систему сборки — QBS. Разумеется, основной реакцией было «Да чем вас QMAKE не устраивал», «Просто адаптируйте CMAKE», «Ещё одна система сборки [xkcd, стандарты]». Обещанные преимущества новой системы: гибкость, понятный синтаксис для всех разработчиков (QML — javascript-подобный декларативный язык), скорость билдов (чистых и инкрементальных), а также лёгкая расширяемость.
Всё это мы где-то уже слышали, поэтому в данной статье мы попытаемся разобраться, как разработчики пришли к этой системе, рассмотрим простейшие примеры, изучим основные конструкции и посмотрим, какая поддержка на уровне IDE присутствует на настоящий момент.
Let's go!
Всего голосов 47: ↑47 и ↓0 +47
Просмотры 44K
Комментарии 49

Как заставить qmake всегда пересобирать проект «с чистого листа» при изменении макросов

Qt *
Если вдруг кто не в курсе, то спешу сообщить, что qmake этого не делает. Этот печальный факт может привести к крайне неприятным багам сборки, если забыть сделать полный ребилд после изменения макросов проекта.
Читать дальше →
Всего голосов 11: ↑8 и ↓3 +5
Просмотры 5.4K
Комментарии 14

Некоторые особенности разработки под Ubuntu Touch

Open source *Программирование *Разработка мобильных приложений *Разработка игр *Разработка под Linux *


Пришла весна. Коты думаю о кошках, мужчины о женщинах, а программист — куда бы ещё портировать имеющийся код. Я ещё прошлой осенью стал обладателем Meizu MX4 Ubuntu Edition, и поэтому выбор был давно очевиден. А тут нашлось и время, и силы.
Читать дальше →
Всего голосов 26: ↑25 и ↓1 +24
Просмотры 14K
Комментарии 25

OpenSceneGraph: сборка из исходников и Hello World

Программирование *Работа с 3D-графикой *Разработка игр *Разработка под Linux *Разработка под Windows *
Tutorial


Введение


OpenSceneGraph (далее OSG) — открытый кроссплатформенный фреймворк, написанный на C++ и представляющий собой графический движок, предоставляющий программисту объектный интерфейс к OpenGL. В нашей стране этот движок не особенно популярен, даже на Хабре я видел только одну более-менее приличную публикацию о нем. OSG применяется за рубежом много где, например он является основой для свободного авиасимулятора FlightGear, существует открытая реализация игры Morrowind, называемая OpenMW разработка которой так же перенесена на OSG с движка Ogre. Русскоязычной документации по нему исчезающе мало, а среди англоязычной можно отметить лишь серию книг от разработчиков: OpenSceneGraph 3.0. Beginner’s Guide и OpenSceneGraph 3. Cookbook.

Тем не менее, движок достаточно интересен по следующим причинам:

  1. Открытая кроссплатформенная реализация на C++.
  2. Модульная архитектура.
  3. Расширяемость за счет встроенной системы плагинов.
  4. Возможность многопоточной обработки графических данных и встроенный инструментарий для её реализации
  5. Управление динамической памятью через механизм умных указателей

Думаю, что читателям Хабра будет интересно более подробно ознакомится с этим проектом. Не лишним будет и пополнение русскоязычной базы знаний по OSG. Все материалы, которые будут публиковаться мной по данной теме основаны на книге OpenSceneGraph 3.0. Beginner’s Guide, но являются не её переводом, а скорее творческой переработкой изложенного там материала. Если вам интересна данная тема, прошу под кат
Читать дальше →
Всего голосов 11: ↑8 и ↓3 +5
Просмотры 5.1K
Комментарии 15

Getting Started with the PVS-Studio Static Analyzer for C++ Development under Linux

Блог компании PVS-Studio C++ *C *Разработка под Linux *DevOps *
PVS-Studio supports analyzing projects developed in C, C++, C#, and Java. You can use the analyzer under Windows, Linux, and macOS. This small article will tell you the basics of analyzing C and C++ code in Linux environment.

Installation


There are different ways to install PVS-Studio under Linux, depending on your distro type. The most convenient and preferred method is to use the repository, since it allows auto-updating the analyzer upon releasing new versions. Another option is to use the installation package, which you can get here.
Read more →
Всего голосов 27: ↑24 и ↓3 +21
Просмотры 1.1K
Комментарии 0

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

Блог компании PVS-Studio C++ *C *Разработка под Linux *DevOps *
PVS-Studio поддерживает анализ проектов на языках C, C++, C# и Java. Использовать анализатор можно под системами Windows, Linux и macOS. В этой заметке речь пойдет об анализе кода, написанного на C и C++ в среде Linux.

Установка


Установить PVS-Studio под Linux можно разными способами, в зависимости от типа дистрибутива. Наиболее удобный и предпочтительный способ – использование репозитория: так это позволяет автоматически обновлять анализатор при выходе новых версий. Второй вариант – использовать установочный пакет, который можно скачать здесь.
Читать дальше →
Всего голосов 46: ↑37 и ↓9 +28
Просмотры 4K
Комментарии 8

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

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



Автор статьи, перевод которой мы сегодня публикуем, занимается разработкой ScreenPlay. Он столкнулся с рядом проблем, решить которые ему помог переход с QMake на CMake.
Читать дальше →
Всего голосов 39: ↑37 и ↓2 +35
Просмотры 5K
Комментарии 6

Заводим трактор: QMake -> CMake

Open source *C++ *Qt *

Заводим трактор: переезжаем с QMake на CMake🚜

По дороге заглянем на улицу "Кросс компиляторщиков", в сквер "Систем сборки" и посидим в баре "Управления зависимостями". Заодно увидим тех, кто использует Qt в embedded linux.

Поехали
Всего голосов 10: ↑8 и ↓2 +6
Просмотры 4.3K
Комментарии 17