Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Кроссплатформенные билд-системы, Boost.Build, CMake, SCons, Waf, etc. 
:(
    Опции темы
Lazin
Дата 26.11.2007, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Кто-нибудь использует boost.build для сборки своих приложений, как-никак это единственная кросс-платформенная система сборки приложений написанных на С++(и не только), даже на одной платформе можно использовать разные компиляторы. Штука полезная и видимо перспективная, но поначалу не очень понятная, куча всяких скриптов вокруг каждого тулсета, непонятные сообщения об ошибках, странный(ооочень странный) язык jam файлов... Но в перспективе можно распрощаться с кучей различных непереносимых форматов мэйк-файлов, файлов проектов и прочего хлама. Поэтому невольно возникает вопрос, стоит-ли изучать сабж, и есть ли опыт использования(не считая сборки boost-a)?
PM MAIL Skype GTalk   Вверх
JackYF
Дата 26.11.2007, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 7
Всего: 162



Цитата(Lazin @  26.11.2007,  10:51 Найти цитируемый пост)
как-никак это единственная кросс-платформенная система сборки приложений написанных на С++(и не только)

н-ну...

КДЕ4 использует CMake и должен собираться как под винду, так и под линь.
QT-шные про-файлы тоже, в общем-то, кроссплатформенны. Это всё если мы хотим С++.

Лично я boost.build не использую. Планирую в будущем посмотреть на CMake.

Это сообщение отредактировал(а) JackYF - 26.11.2007, 15:36


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
archimed7592
Дата 26.11.2007, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Lazin, штука, без сомнений, перспективная, но, к примеру, мои опыты закончились, после того, как я не нашёл как указать ему, что нужно линковаться с libboost_regex-somever.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Lazin
Дата 26.11.2007, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



archimed7592, вроде-бы можно, только сегодня про это читал, в период курения мануала на тему сборки под x64 проц. архитектуру.
Просто не всем нужен CMake или qmake, к тому-же QT программы наверняка можно собрать bjam-ом, просто нужно написать Jamfile который бы вызывал uic, moc а потом компилировал-бы.

PM MAIL Skype GTalk   Вверх
archimed7592
Дата 26.11.2007, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Lazin, в bbv2 точно есть какая-то поддержка Qt. Только какая(и поддержка ли?) я толком не знаю - так и не нашёл времени разобраться с этой тулзой.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Любитель
Дата 28.11.2007, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(Lazin @  26.11.2007,  10:51 Найти цитируемый пост)
странный(ооочень странный) язык jam файлов

+1

При всё моём уважении к бусту bjam использую (да и то явно уже вообще не использую smile ) только для сборки самого буста.

Цитата(Lazin @  26.11.2007,  10:51 Найти цитируемый пост)
 как-никак это единственная кросс-платформенная система сборки приложений написанных на С++

Ой, я бы так не сказал!   smile 

1. GNU Autotools частично портируемы под винду с помощью MSys + MinGW или CygWin. Многие проекты это используют. впрочем это обычно порты с никсов smile
2. CMake. Мне правда не понравилось :/
3. Ant - впрочем для C/C++ используется обычно только для сборки нескольких нэтив-методов для явовских приложений. Иногда достаточно многих. Пример - eclipse.
4. SCons - собсно моё любимое smile Зависит только от питона. Питон можно найти под любую разумную платформу. Для работы чистого SCons с Qt есть небольшой модуль, впрочем мне в итоге гораздо больше понравился (можно сказать, форк сконса) Waf. Поддержка Qt, в частности, встроенна в Waf. Вообщем, на мой взгляд, очень приятная вещь.


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


Эксперт
****


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

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



SCons и waf - очень интересные инструменты, но насколько я понял не сильно распространенные, на данный момент))
PM MAIL Skype GTalk   Вверх
Любитель
Дата 28.11.2007, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Просто они молодые очень smile

http://code.google.com/p/waf/wiki/Projects - проекты, юзающие Waf.

http://www.scons.org/wiki/SconsProjects - проекты, юзающие Scons.

KDE Team изначально для четвёрки планировали SCons (в итоге перешли на CMake). Собственно это и есть по сути предыстория создания Waf smile

bjam кстати тоже не дюже распространён  smile 


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


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 7
Всего: 162



SCons смотрел, как-то в чистом виде не понравился... на waf взглянуть надо.
И на CMake...


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Lazin
Дата 28.11.2007, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(JackYF @  28.11.2007,  17:14 Найти цитируемый пост)
SCons смотрел, как-то в чистом виде не понравился

А почему, если не секрет. Взглянул(бегло), функции те-же что и у CMake. Мне к примеру пайтон больше улыбается, чем какой-то очередной скриптовый язык, используемый CMake...
PM MAIL Skype GTalk   Вверх
JackYF
Дата 28.11.2007, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 7
Всего: 162



Цитата(Lazin @  28.11.2007,  17:38 Найти цитируемый пост)
Мне к примеру пайтон больше улыбается, чем какой-то очередной скриптовый язык, используемый CMake... 

Вообще говоря, до сих пор "язык", применяющийся в юниксовых Makefile'ах, мне улыбается больше всего. Потому что он только под мэйкфайлы и заточен, + учитывает многие нюансы. Но, увы, как только твоё приложение нужно распространять, ручные мэйкфайлы уже мало годятся. А, имхо, autotools - ужас и страх.

Поэтому я уже довольно-таки давно ищу приемлемую для меня альтернативную систему сборки.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Любитель
Дата 1.12.2007, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(JackYF @  28.11.2007,  17:14 Найти цитируемый пост)
SCons смотрел, как-то в чистом виде не понравился... на waf взглянуть надо.

Они в принципе достаточно похожи. Хотя Waf вводит много приятных вещей в плане написания скриптов (всмысле их структуры), больше всяких инструментов интегрировано + вывод приятней smile

Минус cmake хотя бы в том, что это обёртка над обычным мейком. Не совсем понимаю смысла.

Цитата(Lazin @  28.11.2007,  17:38 Найти цитируемый пост)
 Мне к примеру пайтон больше улыбается

Мне тоже. На питоне свою мысль выразить легче иногда. Может, конечно, у меня мышление не слишком деларативное? smile 


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


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 7
Всего: 162



Цитата(Любитель @  1.12.2007,  17:56 Найти цитируемый пост)
Минус cmake хотя бы в том, что это обёртка над обычным мейком. Не совсем понимаю смысла.

Обёртка над make мне и надо. Язык хороший, но много чего хочется автоматизировать.

Посмотрел я на waf. Нет, не то. Ещё ни одна система, кроме, собственно, Makefileов чистых, не предоставила мне нормальных примеров рабочих Makefile или их аналогов. В example какие-то куцые приложения на 10 строк, с добавлением 1-2 опций компилятору. Тьфу...

Мне требуется три варианта сборки проекта, с возможностью указания любых ключей компиляторам, а не только тех, что "известны" билд-системе, с возможностью выполнять шелл-код в любых местах сборки. За исключением cmake, про который я пока ничего не знаю, у меня кандидатов на билд-систему нет, потому как всё остальное пока идёт гулять лесом.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Любитель
Дата 2.12.2007, 00:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(JackYF @  2.12.2007,  00:31 Найти цитируемый пост)
нормальных примеров рабочих Makefile или их аналогов

Как неплохой вариант - посмотреть на SConstruct-ы, wscript-ы реальных готовых проектов.

Цитата(JackYF @  2.12.2007,  00:31 Найти цитируемый пост)
Мне требуется три варианта

Variants в вафоской вики.

Цитата(JackYF @  2.12.2007,  00:31 Найти цитируемый пост)
с возможностью указания любых ключей компиляторам, а не только тех, что "известны" билд-системе

Само собой.

Цитата(JackYF @  2.12.2007,  00:31 Найти цитируемый пост)
с возможностью выполнять шелл-код в любых местах сборки

Можно и шелл. Но проще писать непосредственно на питоне smile

В том-то собственно одна из основных фишек (для меня по крайней мере) сконса/вафа/рейка|etc. (последней на руби, потому смотреть не стал - питон ближе smile ) - полная свобода действий. Все возможности полноценного скриптового языка перед нами. Это с точки зрения написания билд-скриптов.


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


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 7
Всего: 162



Цитата(Любитель @  2.12.2007,  00:52 Найти цитируемый пост)
wscript-ы реальных готовых проектов.

посмотрел на waf xmms2. Пока что - не лежит душа.

Цитата(Любитель @  2.12.2007,  00:52 Найти цитируемый пост)
Variants в вафоской вики.

спасибо, нашёл.

Цитата(Любитель @  2.12.2007,  00:52 Найти цитируемый пост)
Само собой.

да вот что-то не очень заметно. В примерах есть переопределение CFLAGS там, CXXFLAGS и т.д. Указание опций компилятору, вызов компилятора я не увидел.

Цитата(Любитель @  2.12.2007,  00:52 Найти цитируемый пост)
Все возможности полноценного скриптового языка перед нами.

Наверное, это хорошо. Но - не знаю я питон. Возможно, позже оценю smile.


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

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

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


 




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


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

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