Russian Qt Forum
Май 02, 2024, 03:25 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Cтек для разработки Qt-приложений с использованием Premake  (Прочитано 7437 раз)
annulen
Гость
« : Январь 10, 2012, 16:29 »

Сегодня я опубликовал релизы трех компонентов для разработки Qt-приложений с использованием системы сборки Premake:


qt-support.lua 1.0

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

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

Документация
Ограничения
  • Требуются патчи для 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)


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 отладка пока не работает (постараюсь исправить в следущем релизе)


Загрузки


Буду рад выслушать любые пожелания и предложения по программам и документации.
« Последнее редактирование: Январь 10, 2012, 21:20 от annulen » Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Январь 10, 2012, 16:35 »

А зачем, если есть CMake?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
asvil
Гость
« Ответ #2 : Январь 10, 2012, 16:45 »

Если в проекте можно использовать полное множество языка lua, это гораздо лучше, чем недоязык cmake.
Не вижу x86_64.
Записан
annulen
Гость
« Ответ #3 : Январь 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.
Записан
annulen
Гость
« Ответ #4 : Январь 10, 2012, 16:53 »

Цитировать
Не вижу x86_64.
Скачай x86 или собери из сорсов под натив. x86 должен работать у всех, битность в данном случае не принципиальна.
« Последнее редактирование: Январь 10, 2012, 21:23 от annulen » Записан
annulen
Гость
« Ответ #5 : Январь 10, 2012, 16:54 »

ОК, ща выложу x86_64
Записан
annulen
Гость
« Ответ #6 : Январь 10, 2012, 17:05 »

x86_64: https://github.com/downloads/annulen/premake-annulen/premake-4.4-qt-beta1-linux-x86_64.tar.gz
Записан
asvil
Гость
« Ответ #7 : Январь 10, 2012, 17:10 »

Спасибо. Нужная вещь. А что сообщество premake патч примет в будущем?
Записан
annulen
Гость
« Ответ #8 : Январь 10, 2012, 17:14 »

Я активно общаюсь с Джейсоном, мы постараемся включить все патчи из Premake 4.4-qt-beta1 в финальный релиз 4.4. Часть моих патчей уже была принята.

Что касается аддона qt-support.lua, в ближайшее время он будет распространяться незаивсимо.
Записан
annulen
Гость
« Ответ #9 : Январь 13, 2012, 13:40 »

Примеры проектов:

https://github.com/annulen/qt-examples-premake
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.049 секунд. Запросов: 23.