1.1, ILoveMicrosoft (ok), 11:41, 07/11/2013 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Я рад! Потому что autotools - засохшее мамонта, cmake - тоже отвратен, хотя признаю что cmake штука мощная. Но всё же, планирую сесть на QBS.
| |
|
2.11, glebiao (ok), 15:27, 07/11/2013 [^] [^^] [^^^] [ответить]
| –3 +/– |
А я не рад.
До scons'а это не дотягивает. Лучше бы улучшили поддержку qt-шностей в сконсе, ей-богу.
| |
|
3.23, ip1981 (ok), 19:26, 07/11/2013 [^] [^^] [^^^] [ответить]
| +4 +/– |
> А я не рад.
> До scons'а это не дотягивает. Лучше бы улучшили поддержку qt-шностей в сконсе,
> ей-богу.
https://wiki.debian.org/UpstreamGuide
Please don't use SCons. It is hard to use it correctly. For instance SCons is designed to ignore environment variables such as CFLAGS (unless your add code for this). It also does not support DESTDIR out of the box. As an upstream you have to explicitly add code for that (or Debian has to patch). Support for SONAMEs (library versioning) is also absent. The general observation is that many projects, that use SCons, do not have a working install target. Since projects work around these limitations individually there is no way to just use a SCons project in Debian, but more work is required to invoke it correctly.
The gentoo wiki has a detailed list of shortcomings.
If you choose to use SCons anyway, please ensure that the usual environment compiler variables (CC, CFLAGS, ...) and path variables (DESTDIR, BINDIR, LIBDIR, ...) are honoured. There is a recipe, that addresses some of these.
| |
|
4.34, glebiao (ok), 13:48, 08/11/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
Уфф. Вот какая штука. Мантейнерам большого репозитория, без сомнений, удобно, когда сборочная среда единообразно вписывается в их окружение. А насколько корректно при этом работает сама сборочная среда, их уже не волнует: главное, чтобы корректно собирался конечный результат.
А вот если вы разработчик, ситуация обратная: вы можете быть совершенно равнодушны к тому, как ваша среда реагирует на стандартные переменные окружения, но будете огорчены, если зависимости в проекте отслеживаются не вполне. Вот с последним, как раз, сконс справляется лучше всех.
И да, в моих SConscript, переменные окружения поддерживаются, это вообще не проблема.
Кстати, не я н понял пассаж насчёт DESTDIR. Корректная(!) сборка проекта в отдельный buildir, это вообще исконная фишка сконса.
Порог вхождения в сконс (в случае не очень простых проектов) высоковат, это да. И забывается быстро. С нуля, сложный SConscript/SConstruct я сейчас сходу, "с чистого листа и без бумажки" не напишу, пожалуй. Не волнует: есть наработанный шаблон.
| |
|
5.36, yekm (ok), 19:09, 08/11/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
Видел я пару проектов на этом вашем сконсе. Количество костылей не оправдывает гибкости. Практически во всех случаях можно было просто доосилить cmake.
| |
|
6.42, glebiao (ok), 07:31, 11/11/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
можно подробнее насчёт костылей?
PS: про cmake, лучше не надо. Теряет зависимости, требует перезапуска после изменения состава исходников.
| |
|
7.44, Аноним (-), 08:41, 11/11/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
> можно подробнее насчёт костылей?
Вон там выше написано достаточно для того чтобы не пользовться этим гомном. Если оно кладет на переменные окружения - должно помереть лютой смертью.
| |
|
6.43, Аноним (-), 08:40, 11/11/2013 [^] [^^] [^^^] [ответить] | +2 +/– | который тоже кривая и глючная хрень, так что можно было не выделываться и доо... большой текст свёрнут, показать | |
|
|
|
|
|
3.29, nib (?), 01:31, 08/11/2013 [^] [^^] [^^^] [ответить]
| –3 +/– |
Зачет за автотулз, у вас отдельный штат кодеров пишет билд скрипты?;)
| |
|
4.32, ip1981 (ok), 11:35, 08/11/2013 [^] [^^] [^^^] [ответить]
| +2 +/– |
> отдельный штат кодеров пишет билд скрипты?
А вы специалист по циклу for?
| |
|
|
2.46, Аноним (-), 08:48, 11/11/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Я рад! Потому что autotools - засохшее мамонта, cmake - тоже отвратен,
> хотя признаю что cmake штука мощная. Но всё же, планирую сесть на QBS.
Ну да, с твоим ником как-то так и надо, страдать легким программизмом в своей вьюжлстудии. При этом пальцем у виска будут крутить и *никсоиды, и вeндyзятники.
| |
|
1.2, Владимир (??), 11:54, 07/11/2013 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Использую уже год, отличная система, собирает шустро и удобно. Очень хорошо поддерживать кучу разных аппаратных платформ и кастомных компиляторов.
(libc-linux-x86, x86_64, armlinux-elf, arm-uclinux, mingw).
Использование что qmake, что netbeans-овых конфигов было болью.
Кроме того прикрутил сборку паскальных проектов через него же. все удобно.
| |
|
2.28, qwerty (??), 00:46, 08/11/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Использую уже год,
Главное не время, а количество проектов и поддерживаемых платформ.
| |
|
3.30, Владимир (??), 02:19, 08/11/2013 [^] [^^] [^^^] [ответить]
| +/– |
Платформы - написал. Количество проектов - 3 - в каждом около десятка подпроектов (статические и динамические либы и приложения).
Кто-то скажет - мало, а по мне так вполне боевое крещение. QBS мал и юн, но уже может конкурировать по некоторым показателям (для меня критично - удобство конфигов и их поддержка).
| |
|
|
1.4, Аноним (-), 12:39, 07/11/2013 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Что не нравится - Запуск внешних програм опять через одно место.
Если мне нужно простейшее - собрать, если удачено загрузить на сайт по фтп, если не удачно - послать письмо и откатить на прошлую версию из гита. В make файле это три строки, тут надо импортировать модули, и на javascript писать портянку с калбеками.
| |
|
2.27, Аноним (-), 22:02, 07/11/2013 [^] [^^] [^^^] [ответить]
| +/– |
> собрать, если удачено загрузить на сайт по фтп, если не удачно - послать письмо и откатить на прошлую версию из гита
Система сборки должна собирать, а не кофе варить и тапочки приносить. Пускай лучше делает одну вещь, но хорошо.
> В make файле это три строки
Дык и напиши себе мейкфайл из трёх строк. Для самой сборки он будет вызывать qbs. В чём бида-то?
| |
|
3.47, Аноним (-), 08:49, 11/11/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Система сборки должна собирать, а не кофе варить и тапочки приносить. Пускай
> лучше делает одну вещь, но хорошо.
Как бы было неплохо если оно не только собрать программу может но и оформить это в нечто готовое. А вот тут уже может понадобиться вызов внешних программ.
| |
|
|
|
|
3.31, Владимир (??), 02:21, 08/11/2013 [^] [^^] [^^^] [ответить]
| +/– |
с абсолютными путями у меня работает норм. Для цели "положить бинари в ../bin после сборки" есть команда install.
| |
|
|
1.7, Аноним (-), 13:42, 07/11/2013 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Попробовал, до cmake даже близко не дотягивает. Какой-то передутый qmake с жабоскриптом, сохранивший все генетические проблемы.
| |
|
2.17, Xasd (ok), 17:57, 07/11/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Какой-то передутый qmake с жабоскриптом
так как в этой теме есть специалисты -- то заодно и спрошу..:
подскажите пожалуйста -- как на qmake воссоздать аналог следующей qbs-декларации:
cpp.warningLevel: "all"
cpp.treatWarningsAsErrors: true
???
(разумеется для случая разных C++компиляторов, а не только для GCC)
| |
|
3.24, ip1981 (ok), 19:32, 07/11/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
> подскажите пожалуйста -- как на qmake воссоздать аналог следующей qbs-декларации:
>
> cpp.warningLevel: "all"
> cpp.treatWarningsAsErrors: true
>
> ???
> (разумеется для случая разных C++компиляторов, а не только для GCC)
Не надо это прибивать гвоздями. Есть же CFLAGS, CXXFLAGS.
Но если очень хочется, есть http://stackoverflow.com/a/19661046/933161
| |
3.38, да (?), 23:17, 08/11/2013 [^] [^^] [^^^] [ответить]
| +/– |
>> Какой-то передутый qmake с жабоскриптом
> так как в этой теме есть специалисты -- то заодно и спрошу..:
> подскажите пожалуйста -- как на qmake воссоздать аналог следующей qbs-декларации:
>
> cpp.warningLevel: "all"
> cpp.treatWarningsAsErrors: true
>
> ???
> (разумеется для случая разных C++компиляторов, а не только для GCC)
вангую: в новой версии ку-бе-эс меняется синтаксис, и весь мифический выигрыш от якобы более удобного задания известных опций превращается в красную сеточку немного влажных глаз обиженного лица разработчика невнятно мямлящего "сейчас.. тут надо кое-что подправить... да ерунда в принципе" во время судорожного гугления.
| |
|
|
|
2.10, Аноним (-), 15:25, 07/11/2013 [^] [^^] [^^^] [ответить]
| +2 +/– |
Я бы спросил, чем одна фигня отличается от другой? Скачиваешь программу, которая распространяется лишь через исходники, а там нужен cmake, ...или qmake, ...или ещё какой-нить. К чему переходить на странные штуки из зоопарка, когда есть make?
| |
|
3.13, blablabla2 (?), 16:28, 07/11/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Я бы спросил, чем одна фигня отличается от другой? Скачиваешь программу, которая
> распространяется лишь через исходники, а там нужен cmake, ...или qmake,
> ...или ещё какой-нить. К чему переходить на странные штуки из зоопарка,
> когда есть make?
если хватает мозга выкачать исходники, то хватит мозга и qbs,cmake,etc выкачать. gcc и make уже по умолчанию во всех дистрибутивах поставляются при установке голой системы?
| |
3.18, Аноним (-), 18:00, 07/11/2013 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Скачиваешь программу, которая распространяется лишь через исходники, а там нужен cmake, ...или qmake, ...или ещё какой-нить.
> К чему переходить на странные штуки из зоопарка, когда есть make?
А что, make значит не нужен? А то что компилятор нужен, не смущает?
А вообще, make что-то сложнее hello world не соберёт, ибо не умеет искать зависимости и абстрагироваться от особенностей систем. Даже для hello world нормальный Makefile написать - для некоторых непосильная задача. cmake же всё делает для разработчика, и, на секунду, умеет генерить не только makefile но и проекты для ide.
| |
|
4.20, ZloySergant (ok), 18:24, 07/11/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
>А вообще, make что-то сложнее hello world не соберёт...
Зае**сь, hello world на 72 метра в архиве. kernel.org , если чо.
| |
|
5.21, Аноним (-), 18:56, 07/11/2013 [^] [^^] [^^^] [ответить]
| +/– |
Ну посмотрите ради интереса объём кода их makefile'ов, откуда они получаются и сколько там есть дополнительных утилит. И да, ядро - проект без зависимостей, в этом смысле любоя вшивая пркладуха намного его сложнее.
| |
5.33, ip1981 (ok), 11:38, 08/11/2013 [^] [^^] [^^^] [ответить]
| +/– |
>>А вообще, make что-то сложнее hello world не соберёт...
> Зае**сь, hello world на 72 метра в архиве. kernel.org , если чо.
kernel is special. Это проект в себе. Без внешних зависимостей.
| |
|
6.39, да (?), 23:19, 08/11/2013 [^] [^^] [^^^] [ответить]
| +/– |
>>>А вообще, make что-то сложнее hello world не соберёт...
>> Зае**сь, hello world на 72 метра в архиве. kernel.org , если чо.
> kernel is special. Это проект в себе. Без внешних зависимостей.
андроид.
| |
|
7.48, Аноним (-), 08:50, 11/11/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
> андроид.
Что - андроид? Кернел собирается без всяких ведроидов.
| |
|
|
5.35, Пиу (ok), 17:21, 08/11/2013 [^] [^^] [^^^] [ответить]
| –2 +/– |
там проблема в том, что на самом деле билд-система уровня autotools/cmake/whatever переписана на makefiles. Линусу виднее, но лично я не хочу писать к своим проектам еще и свою билд-систему
| |
|
6.40, ip1981 (ok), 23:53, 08/11/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
Проблема в том, что вы не понимаете чем сборка ядра отличается от сборки user-space.
Все autotools, cmake и остальные существуют для облегчения создания исполняемых файлов, библиотек (shared и static) и модулей (которые dlopen) с учётом зоопарка стандартов, заголовочных файлов и других библиотек.
Для ядра это просто не нужно. Хотя nvidia могла бы...
| |
|
|
|
|
|
|