Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Qt и билд-системы, выделено из "Creator vs Designer" 
:(
    Опции темы
cutwater
Дата 5.1.2010, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 592
Регистрация: 24.6.2008

Репутация: 2
Всего: 10



andrew_121, вы собирали при помощи qmake проекты зависящие не только от Qt и приличного размера? До cmake ей (системе сборки) еще далеко. Чего не хватает - отслеживание зависимостей, более гибких configure etc.

Ручное добавление файлов это не так страшно на самом деле. 

Кстати, один плюс cmake - любая IDE позволяющая работать с Makefile автоматически будет поддерживать cmake, для qmake нужен дополнительный бубен, чтобы обновлять Makefile при обновлении .pro файла.

имхо: для меня Qt Creator совершенно не удобен.


--------------------
user posted image
PM MAIL   Вверх
andrew_121
Дата 5.1.2010, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 11
Всего: 33



Цитата(cutwater @  5.1.2010,  17:03 Найти цитируемый пост)
вы собирали при помощи qmake проекты зависящие не только от Qt и приличного размера?

приличного размера - да.
зависящие от стороних - нет. либо сторонние собираю сам, ручками так сказать.

Добавлено через 2 минуты и 50 секунд
Цитата(cutwater @  5.1.2010,  17:03 Найти цитируемый пост)
для qmake нужен дополнительный бубен, чтобы обновлять Makefile при обновлении .pro файла.

так было раньше. сейчас make проверяет .pro файл, и если он изменился, то запускает qmake.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
djamshud
Дата 5.1.2010, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 5
Всего: 39



kemiisto, извините я не телепат.

Кстати говоря тролли сами осознали ненужность qmake, в будущем, будет cmake, кажется.


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
andrew_121
Дата 5.1.2010, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 11
Всего: 33



Цитата(djamshud @  5.1.2010,  23:09 Найти цитируемый пост)
кажется

точно. уже сейчас версию с джиториуса нужно собирать cmake/


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
SABROG
Дата 6.1.2010, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 81
Всего: 91



Цитата(andrew_121 @ 5.1.2010,  23:30)
Цитата(djamshud @  5.1.2010,  23:09 Найти цитируемый пост)
кажется

точно. уже сейчас версию с джиториуса нужно собирать cmake/

Откуда такая информация? Просмотрел все бранчи ни одного упоминания о CMakeLists.txt не нашел.

Цитата(djamshud @  5.1.2010,  23:09 Найти цитируемый пост)
Кстати говоря тролли сами осознали ненужность qmake, в будущем, будет cmake, кажется. 

И снова, откуда вы это берете? Все статьи, которые я читал на http://labs.trolltech.com/blogs/ про cmake говорят лишь о том, что тролли общались с KitWare по поводу некоторых возможностей, которых им не хватает. Однако окончательного решения по этому вопросу еще небыло принято, т.к. вторым вариантом является создание новой системы сборки основанного, скорее всего, на ECMAScript (он же JavaScriptCore и QtScript).

И уж тем более там было сказано о том, что qmake останется для обратной совместимости с существующими проектами.

Это сообщение отредактировал(а) SABROG - 6.1.2010, 15:56


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
Lazin
Дата 6.1.2010, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 2
Всего: 154



Цитата(SABROG @  6.1.2010,  15:51 Найти цитируемый пост)
Откуда такая информация? Просмотрел все бранчи ни одного упоминания о CMakeLists.txt не нашел.

да вряд-ли они будут переписывать все с нуля, скорее всего они просто напишут(или уже написали) тулзу, которая перегонит все .prj файлы в CMakeLists.txt
PM MAIL Skype GTalk   Вверх
andrew_121
Дата 6.1.2010, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 11
Всего: 33



Цитата(SABROG @  6.1.2010,  15:51 Найти цитируемый пост)
Откуда такая информация? Просмотрел все бранчи ни одного упоминания о CMakeLists.txt не нашел.

щас найду.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
SABROG
Дата 6.1.2010, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 81
Всего: 91



Цитата(Lazin @ 6.1.2010,  16:06)
да вряд-ли они будут переписывать все с нуля, скорее всего они просто напишут(или уже написали) тулзу, которая перегонит все .prj файлы в CMakeLists.txt

Ну движок у них есть (ecmascript), основные методы выдерут из того же qmake. К тому же им нравится идея о создании системы сборки в качестве библиотеки, которую можно будет подключить напрямую к QtCreator'у, а не через консоль. Это позволит QtCreator'у парсить скрипты сборки на раз два (вернее это будет делать уже сама библиотека, может плагин, кто знает) и генерить удобный интерфейс для изменения проекта. Думаю, что скрипты будут чем-то напоминать систему сборки waf, которая на питоне. Хотя кто знает.


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
Любитель
Дата 8.1.2010, 01:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 16
Всего: 92




M
Любитель
Тема выделена отсюда - http://forum.vingrad.ru/forum/topic-286047.html



--------------------
PM MAIL ICQ Skype   Вверх
Любитель
Дата 8.1.2010, 02:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 16
Всего: 92



Выскажу уж своё мнение smile

Во-первых, я бы выделил три юз-кейса, исходя из которых я привык оценивать билд системы:
1. Сборка проекта девелопером. Быстро, интегрируемо с ИДЕ (не только мифическими ИДЕ - в первую очередь с реальными), обязательна максимальная инкрементность сборки. Вполне нормально, если нужна дополнительная настройка энвайронмента.
2. Сборка проекта из сорсов юзером. Юз-кейс, конечно, больше всего актуален в мире никсов. Здесь требуется максимальная автоматизация процесса, здесь звучит популярная фраза о "гибком configure", здесь может понадобится замысловатая кастом-логика.
3. Классический CI. Энвайронмент настраивается, но единожды (прописать нужные утилиты в PATH, подсунуть куда надо нужные либы и т. д.). Билд-система в этом своём образе должна уметь брать информацию из сорс-контроля (да, основная работа ложится на CI-сервер, но там номер ревизии проставить в конфиг - тоже полезно), прогонять тесты, пекеджить деплоймент-версии проекта. Должна работать на 100% автоматически.

По 1-му пункту (если говорить об интеграции с реальными ИДЕ) сливают все. Makefile-based проект - это отстой по определению. Т. е. разработчики билд-системы должны сделать нормальную поддержку проектов в VS и эклипсе (с криэйтором всё само собой - поэтому эт я даже не заикаюсь).

С точки зрения кастом-логики. Запуск внешних утилит - это прошлый век, век мейкфайлов. Сегодня это явно не вариант. Мне видятся два варианта - либо интеграция полноценного скриптового языка, либо механизм подгружаемых плагинов-тасков (в стиле анта или мс-билда). В контексте именно Qt реалистично звучат оба варианта. Даже не знаю...

Наконец-таки, насчёт CMake. Действительно, как я понимаю (да - Qt я уже давно не занимаюсь, но интересуюсь), выбор пока не сделан (http://labs.trolltech.com/blogs/2009/10/14/to-make-or-not-to-make-qmake-and-beyond-redux/). Вариант с JS-based скриптингом и декларативном описание тарджетов мне нравится smile

Хотя XML-based build script нравится больше (наверно, привык). С возможностью написания кастом-тасков, загружаемых через механизм плагинов Qt smile


--------------------
PM MAIL ICQ Skype   Вверх
Lazin
Дата 8.1.2010, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 2
Всего: 154



Цитата(Любитель @  8.1.2010,  02:17 Найти цитируемый пост)

2. Сборка проекта из сорсов юзером. Юз-кейс, конечно, больше всего актуален в мире никсов. Здесь требуется максимальная автоматизация процесса, здесь звучит популярная фраза о "гибком configure", здесь может понадобится замысловатая кастом-логика.
второй пункт в топку, сборка из исходников пользователем is so 1994 smile 

Цитата(Любитель @  8.1.2010,  02:17 Найти цитируемый пост)
По 1-му пункту (если говорить об интеграции с реальными ИДЕ) сливают все. Makefile-based проект - это отстой по определению. Т. е. разработчики билд-системы должны сделать нормальную поддержку проектов в VS и эклипсе (с криэйтором всё само собой - поэтому эт я даже не заикаюсь).
насчет того, что CMake сливает я не согласен, CMake не собирает проект самостоятельно, оно генерит солюшн для студии или для другой IDE затем ты просто открываешь его и собираешь проект, либо работаешь над ним, поэтому возможности CMake ограничены той средой, которая будет использоваться для сборки

PM MAIL Skype GTalk   Вверх
Любитель
Дата 8.1.2010, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 16
Всего: 92



Цитата(Lazin @  8.1.2010,  13:36 Найти цитируемый пост)
второй пункт в топку, сборка из исходников пользователем is so 1994

Не понял  smile 

Цитата(Lazin @  8.1.2010,  13:36 Найти цитируемый пост)
насчет того, что CMake сливает я не согласен, CMake не собирает проект самостоятельно, оно генерит солюшн для студии или для другой IDE затем ты просто открываешь его и собираешь проект, либо работаешь над ним, поэтому возможности CMake ограничены той средой, которая будет использоваться для сборки

Неее.. Эт я знаю. Добавили мы в ИДЕ новый файл, теперь дополнительно должны отредактировать конфиг для билд-системы. Это не тру-вей. Редактировать конфиг вручную - тоже не айс. Исключение - кастомные операции. Т. е. надо не генерить файл проекта, а сделать поддержку нового типа проектов для основных ИДЕ (эклипс, VS + XCode, который я забыл в прошлый раз). Это было бы лучшим решением.

Вообщем, я за QAnt + редактор для него в ИДЕ smile


--------------------
PM MAIL ICQ Skype   Вверх
Lazin
Дата 8.1.2010, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 2
Всего: 154



Цитата(Любитель @  8.1.2010,  14:56 Найти цитируемый пост)
Неее.. Эт я знаю. Добавили мы в ИДЕ новый файл, 
теперь дополнительно должны отредактировать конфиг для билд-системы.

одну строчку добавить в CMakeLists.txt
я это делаю из IDE, затем запускаю сборку и у меня автоматически вызывается cmake и обновляется solution
Код

------ Build started: Project: ZERO_CHECK, Configuration: Debug Win32 ------
Checking Build System
CMake is re-running because build system is out-of-date.
-- Configuring done
-- Generating done
-- Build files have been written to: E:/tmp/dummy
Build log was saved at "file://e:\tmp\dummy\ZERO_CHECK.dir\Debug\BuildLog.htm"
ZERO_CHECK - 0 error(s), 0 warning(s)
------ Skipped Build: Project: ALL_BUILD, Configuration: Debug Win32 ------
Project not selected to build for this solution configuration 
========== Build: 1 succeeded, 0 failed, 4 up-to-date, 1 skipped ==========


Цитата(Любитель @  8.1.2010,  14:56 Найти цитируемый пост)
Не понял

я думал отжило это свое, нормальный пользователь не будет ничего собирать сам

Добавлено через 2 минуты и 47 секунд
вообще, мне сложно представить единую систему сборки поддерживаемую всеми IDE, поэтому лучше уж так, как это делает  cmake, чем вообще никак smile 
PM MAIL Skype GTalk   Вверх
Любитель
Дата 8.1.2010, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 16
Всего: 92



Цитата(Lazin @  8.1.2010,  15:11 Найти цитируемый пост)
я думал отжило это свое, нормальный пользователь не будет ничего собирать сам

Ну не знаю... В этой же теме вон выступали за "нормальный конфигуре" smile

Цитата(Lazin @  8.1.2010,  15:11 Найти цитируемый пост)
одну строчку добавить в CMakeLists.txt

Ды я понимаю.. Суть в том, что все операции надо дублировать :( Это плохо.

Цитата(Lazin @  8.1.2010,  15:11 Найти цитируемый пост)
вообще, мне сложно представить единую систему сборки поддерживаемую всеми IDE, поэтому лучше уж так, как это делает  cmake, чем вообще никак

Ммм.. Ну в мире явы же вроде как-то все уживаются? Хотя я особо этот вопрос не копал smile

Добавлено через 1 минуту и 8 секунд
Ну и макросы цмейка мне лично не нравятся. Но это дело вкуса, конечно.


--------------------
PM MAIL ICQ Skype   Вверх
djamshud
Дата 11.1.2010, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 5
Всего: 39



>Makefile-based проект - это отстой по определению.

Эээ... Вы где такое глупое определение прочитали? Можно поподробнее? Давно уже веду все свои проекты на Makefile и не знаю бед. А несколько IDE, что я видел, умели работать с кастомными мэйкфайлами.

>одну строчку добавить в CMakeLists.txt

Вроде бы cmake умеет работать не с файлами, а с директоряими исходников.

>сборка из исходников пользователем is so 1994

Гентушники переглянулись, возмущенно зашумели, зыфыркали и неодобрительно закачали головами.


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.1049 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.