Russian Qt Forum

Разное => Новости Qt сообщества => Тема начата: annulen от Январь 10, 2012, 16:29



Название: Cтек для разработки Qt-приложений с использованием Premake
Отправлено: annulen от Январь 10, 2012, 16:29
Сегодня я опубликовал релизы трех компонентов для разработки Qt-приложений с использованием системы сборки Premake (http://industriousone.com/premake):


qt-support.lua 1.0

Это аддон для Premake, позволяющий использовать Qt в Premake-проектах. Qt-специфичная кодогенерация осуществляется автоматически - просто добавьте все исходники, заголовки, *.ui, *.qrc. и *.ts-файлы в список files!

Поведение qt-support.lua практически полностью совпадает с поведением qmake, позволяя практически безболезненно осуществлять миграцию. В отличие от qmake, по умолчанию генерируемые мейкфайлы переносимы, т.е. вы можете распространять их вместе с исходным кодом вашего приложения.

Документация
  • Знакомимся с Premake (http://lorcode.org/wiki/%D0%97%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D0%B8%D0%BC%D1%81%D1%8F_%D1%81_Premake)
  • Getting started with Qt and Premake (http://lorcode.org/wiki/Getting_started_with_Qt_and_Premake)
  • Qt addon reference manual (http://lorcode.org/wiki/Qt_addon_reference_manual)
Ограничения
  • Требуются патчи для Premake (см. релиз ниже)
  • Поддерживается только GNU make
  • На Mac OS X поддерживается только конфигурация Qt в виде фреймворков
  • Следующие модули Qt пока не поддерживаются: ActiveQt, QtDBus, QtDesigner, Phonon
Загрузки
Файл включен в состав дистрибутивов Premake 4.4-qt-beta1


Premake 4.4-qt-beta1

Это неофициальный релиз Premake, содержащий патчи, необходимые для работы qt-support.lua

Загрузки (пакеты включают qt-support.lua)
  • Windows 32-bit (https://github.com/downloads/annulen/premake-annulen/premake-4.4-qt-beta1-windows.zip)
  • Mac OS X Universal (10.4 and higher; PPC + i386) (https://github.com/downloads/annulen/premake-annulen/premake-4.4-qt-beta1-macosx.tar.gz)
  • Linux x86 (https://github.com/downloads/annulen/premake-annulen/premake-4.4-qt-beta1-linux.tar.gz)
  • Исходники (https://github.com/downloads/annulen/premake-annulen/premake-4.4-qt-beta1-src.tar.gz)


PremakeProjectManager 0.2

Это плагин для среды разработки Qt Creator, добавляющий нативную поддержку проектов premake4.lua. Просто откройте в Qt Creator файл premake4.lua с конфигурацией вашего проекта, и вы сможете работать с его файлами, а так же компилировать и отлаживать проект! Плагин работает с Qt Creator 2.3.x и 2.4.0 (в составе Qt SDK или отдельно от него); более старые версии и master не поддерживаются.

Новое в версии 0.2
  • Поддержка ОС Windows
  • Поддержка Qt-проектов
  • Генерируемые файлы скрыты по умолчанию
  • Работает выбор тулчейна
  • Работает парсинг выдачи компилятора
  • Поддержка Qt Creator 2.4
  • Удалена поддержка Qt Creator 2.2
В версии для Windows отладка пока не работает (постараюсь исправить в следущем релизе)


Загрузки
  • Qt Creator 2.3.1 Windows 32-bit (https://github.com/downloads/annulen/premake-annulen/premakeprojectmanager-0.2-qtc2.3.1-win32.zip)
  • Qt Creator 2.4.0 Windows 32-bit (https://github.com/downloads/annulen/premake-annulen/premakeprojectmanager-0.2-qtc2.4-win32.zip)
  • Исходный код (https://github.com/downloads/annulen/premake-annulen/premakeprojectmanager-0.2.tar.gz)


Буду рад выслушать любые пожелания и предложения по программам и документации.


Название: Re: Cтек для разработки Qt-приложений с использованием Premake
Отправлено: Пантер от Январь 10, 2012, 16:35
А зачем, если есть CMake?


Название: Re: Cтек для разработки Qt-приложений с использованием Premake
Отправлено: asvil от Январь 10, 2012, 16:45
Если в проекте можно использовать полное множество языка lua, это гораздо лучше, чем недоязык cmake.
Не вижу x86_64.


Название: Re: Cтек для разработки Qt-приложений с использованием Premake
Отправлено: annulen от Январь 10, 2012, 16:52
Цитировать
А зачем, если есть CMake?

  • Синтаксис проекта проще для написания, понимания и поддержки. Проект описывается декларативно, а не императивно
  • Вопреки распространенному заблуждению, CMake - плохо расширяемая система. Макро-язык приводит к написанию трудночитаемого коду в случае даже таких простых действий, как операции над строками, а доступ к внутренним структурам данных вообще не предоставляется. В случае с Premake и проект, и система сборки написаны на одном языке общего назначения (Lua), поэтому в пределах проекта можно определять новые декларативные API, добавлять поддержку инструментов сборки, и даже менять поведение Premake, если это требуется.
  • Более прозрачная и удобная поддержка кросс-компиляции
  • Количество и названия конфигураций неограничены (в CMake их только 4: Debug, Release, DebugWithRelInfo, MinSizeRel)
  • Пользователь может конфигруировать сборку используя параметры командной строки (как в autotools), к которым доступна справка. Никаких -DMYPROJECT_MY_LONG_VARIABLE
  • Генерируемые файлы проектов и Makefile'ы по умолчанию переносимы, т.е. могут распространяться
  • Система сборки компилируется в один исполняемый файл - ее можно даже распространять вместе с проектом (если требуется конфигурация на стороне пользователя)
  • Генерируемые makefile'ы удобочитаемы и лаконичны. При этом код, отвечающий за генерацию, прозрачен и может быть легко адаптирован под требуемые задачи. Например, мне без особого труда удалось написать патч, позволяющий генерировать Kbuild'ы (особые makefile'ы модулей ядра Linux), что не представляется возможным при использовании CMake.


Название: Re: Cтек для разработки Qt-приложений с использованием Premake
Отправлено: annulen от Январь 10, 2012, 16:53
Цитировать
Не вижу x86_64.
Скачай x86 или собери из сорсов под натив. x86 должен работать у всех, битность в данном случае не принципиальна.


Название: Re: Cтек для разработки Qt-приложений с использованием Premake
Отправлено: annulen от Январь 10, 2012, 16:54
ОК, ща выложу x86_64


Название: Re: Cтек для разработки Qt-приложений с использованием Premake
Отправлено: annulen от Январь 10, 2012, 17:05
x86_64: https://github.com/downloads/annulen/premake-annulen/premake-4.4-qt-beta1-linux-x86_64.tar.gz


Название: Re: Cтек для разработки Qt-приложений с использованием Premake
Отправлено: asvil от Январь 10, 2012, 17:10
Спасибо. Нужная вещь. А что сообщество premake патч примет в будущем?


Название: Re: Cтек для разработки Qt-приложений с использованием Premake
Отправлено: annulen от Январь 10, 2012, 17:14
Я активно общаюсь с Джейсоном, мы постараемся включить все патчи из Premake 4.4-qt-beta1 в финальный релиз 4.4. Часть моих патчей уже была принята.

Что касается аддона qt-support.lua, в ближайшее время он будет распространяться незаивсимо.


Название: Re: Cтек для разработки Qt-приложений с использованием Premake
Отправлено: annulen от Январь 13, 2012, 13:40
Примеры проектов:

https://github.com/annulen/qt-examples-premake