LINUX.ORG.RU

Какую систему сборки вы предпочитаете?

 , , , ,


1

5

В комментариях хотелось бы увидеть пояснение почему используете то или иное. Всем добра и что бы всё собиралось как надо ::)

  1. Makefile311 (44%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. Cmake230 (33%)

    ********************************************************************************************************************************************************************************************************************************************

  3. Не знаю, просто жму build в IDE123 (18%)

    ******************************************************************************************************************************

  4. bash/sh/etc скрипты106 (15%)

    *************************************************************************************************************

  5. qmake96 (14%)

    **************************************************************************************************

  6. Apache Maven73 (10%)

    ***************************************************************************

  7. Gradle73 (10%)

    ***************************************************************************

  8. Automake56 (8%)

    *********************************************************

  9. Другой вариант (в комментариях)56 (8%)

    *********************************************************

  10. Ninja33 (5%)

    *********************************

  11. Своя система сборки32 (5%)

    ********************************

  12. Meson29 (4%)

    *****************************

  13. Qbs 25 (4%)

    *************************

  14. Apache Ant13 (2%)

    *************

  15. Waf8 (1%)

    ********

  16. SCons6 (1%)

    ******

  17. imake3 (0%)

    ***

Всего голосов: 1273, всего проголосовавших: 699

>>> Проголосовать

Своя система сборки

Makefile

jollheef ★★★★☆ ()

пробовал использовать почти все это, и ряд других систем.

в данный момент, из перечисленного, активно использую:

make, automake, gradle, системы сборки встроенные в IDE, «своя система сборки» (не моя лично, разработанная внутри компании).

из отсутствующего в списке, активно использую premake5 и jam+.

описывать почему — вышло бы слишком много. разные проекты, разные требования, разные ситуации.. ну и в ряде случаев без личных предпочтений не обходится.

waker ★★★★★ ()

Если пользователь участвует в нескольких проектах, и в каждом разная система сборки, то результаты опроса будут как минимум неправдоподобны.

jollheef, пусть будет «Какую систему сборки вы предпочитаете?» вместо «Какую систему сборки вы используете?», а? Тем более в описании как раз это и подразумевается.

r3lgar ★★★★ ()

только сейчас заметил, что нажимая «Проголосовать» ты попадаешь в ад. нарушенная сортировка и бессмысленные кнопки внизу, две из трёх делающие не то, что на них написано.
ох лол. это моё последнее голосование.

system-root ★★ ()

Gradle, CMake (господи, когда же отовсюду выпрут, RedHat, помоги Meson'ом), QMake, make

P.S. А QBS в опросе нету. Видимо совсем никому не нужен, нахер его Qt'ники только пилили... Зато imake есть, лол. Интересно, кто им вообще ещё пользуется.

EXL ★★★★★ ()
Последнее исправление: EXL (всего исправлений: 2)

CMake — пока что больше всего нравится, все свои проекты собираю им.

Qbs — выглядит более интересно и перспективно, чем «генераторы Makefile», собираюсь попробовать на практике, пока только слежу за новостями и изучал документацию.

Pravorskyi ()

Makefile
bash/sh/etc скрипты
Другой вариант (в комментариях)

mk же!

awesomelackware ()

CMake, ибо фичастый. Хочу как-нибудь QBS попробовать, но всё руки не доходят

XMs ★★★ ()

Automake корректнее было бы заменить на собирательное название Autotools, automake необязательный компонент

Harald ★★★★★ ()

В зависимости от задачи.

PS: Добавьте в список GYP https://gyp.gsrc.io/ . Главный конкурент CMAKE, и кое-что можно собрать только им.

cvv ★★★★★ ()

maven для жабы, qbs для плюсов, gulp для жабоскрипта

ya-betmen ★★★★★ ()

Makefile, Automake. в плюсах юзала CMake, но он мне не понравился, если честно.

ещё нет в списке boost build v2. это достаточно мощная система для сборки очень крупных и сложных кроссплатформенных проектов. специфическая, но гораздо более гибкая, чем тот же CMake. иногда юзала её, особенно если проект использовал boost.

Iron_Bug ★★ ()
Последнее исправление: Iron_Bug (всего исправлений: 2)

Maven, ибо Java

webpack для js/ts

И всё это заворачивается в Jenkins.

hippi90 ★★★ ()
Последнее исправление: hippi90 (всего исправлений: 1)
Ответ на: комментарий от Sunderland93

Чем плох Cmake?

Всем.

Начиная с их ублюдочного регинстронезависимого синтаксиса IF if SET set ENDIF endif на макросной лапше и заканчивая наркоманией с поиском библиотечных зависимостей: www.linux.org.ru/forum/development/13854224?cid=13856215

Что самое печальное, по славной традиции, самое угрёбищное решение стало самым популярным.

EXL ★★★★★ ()
Последнее исправление: EXL (всего исправлений: 1)

makefile - зачем изобретать еще один велосипед...

amd_amd ()

gn + ninja.

Начальная настройка немного сложная (из-за того что нужно весь тулчеин задавать), зато потом — получаешь очень удобный синтаксис и высокую скорость работы.

А еще умеет выдавать список runtime deps для таргетов. Берешь бинарник тестов, спрашиваешь его runtime deps, пакуешь все полученные файлики в архив и отправляешь гонять тесты на другой машине. У нас вокруг этого написана хитрая инфраструктура, которая позволяет прогонять адовое количество тестов с шардированием на большое количество машин, собрать результаты и отрепортить их в ci.

alex_ac ()
Ответ на: комментарий от EXL

Тогда уж лучше QBS применять вместо него. Хотя я видел тысячу и один проект, успешно юзающий CMake...

Sunderland93 ★★★★★ ()

MSBuild и GNU make.
Я их не предпочитаю, просто само так вышло.

thesis ★★★★★ ()

Automake и Makefile, но последнее не заметил сначала, хоть он и первым был, и поспешил нажать «голосовать».

Zubok ★★★★★ ()

- Apache Ant

- Apache Maven

- Gradle

Но самое лучшее - «просто жму build в IDE» (С)

Bioreactor ★★★★★ ()
Последнее исправление: Bioreactor (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Судя по всему - нет. Или у тебя другая информация? CMAKE так и не допилили чтобы выбрасывать GYP.

cvv ★★★★★ ()
Ответ на: комментарий от cvv

Или у тебя другая информация?

У меня слухи.

CMAKE так и не допилили чтобы выбрасывать GYP.

Выбрасывать откуда? AFAIK, Chromium уже давно можно собирать gn.

tailgunner ★★★★★ ()

CMake — для плюсов

Gradle — для жавы

Make — для всякой мелочёвки вроде LaTeX'а

Singularity ★★ ()
Ответ на: комментарий от tailgunner

Выбрасывать откуда?

C ниши :-)

AFAIK, Chromium уже давно можно собирать gn.

Спасибо, годная замена. v8 всё ещё хочет GYP, хотя кажется тоже собираюься мигрировать.

PS: GN в списке выше тоже отсутствует :-)

cvv ★★★★★ ()
Последнее исправление: cvv (всего исправлений: 1)
Ответ на: комментарий от EXL

Что самое печальное, по славной традиции, самое угрёбищное решение стало самым популярным.

один мой коллега во всех дискуссиях билд-систем агитировал за cmake, и я уже готов был записать его в эпических долбо****, но оказалось он просто троллил IRL. причем у него это очень реалистично получалось.

(p.s. в итоге разум таки победил же, cmake уже не первый :)

waker ★★★★★ ()
Последнее исправление: waker (всего исправлений: 1)

Самописный велосипед на PHP, процессит .ass файлы на самодельную рендер-ферму под Arnold renderer.

Почему на пхп? Да потому что чтобы переписывать пути/значения переменных в текстовых файлах (пусть и большого объема - в несколько гб) с помощью регекспов большего и не надо. Да и знаю я его лучше других языков, ибо раньше был веб-разрабом.

moooV ()
Ответ на: комментарий от linux-org-ru

Но это же куча писанины. И как в make сделать адекватное сообщение о нехватке библиотеки?

av0r ()

cmake (-G Ninja), bjam (кстати, всякие скунсы в списке, а слона забыли)

Ninja - 16

Кто-то пишет ниньдзя-файлы руками? О_О

DELIRIUM ★★★★★ ()

This

Makefile

Единственное, с чем знаком более-менее прилично.

rht ★★★★★ ()

Не знаю, просто жму build в IDE

(идите (подметать (улицы)))
mimimimi ()
Ответ на: комментарий от av0r

Но это же куча писанины.

Нет

И как в make сделать адекватное сообщение о нехватке библиотеки?

pkgconfig

linux-org-ru ()
Ответ на: комментарий от rht

А большего в 90% случаев и не надо. В нормально настроенном билд окружении когда осмысленно подготовлено всё для сборки нужно лишь передать компилятору исходный код и провести ещё пару тройку манипуляций.

linux-org-ru ()

TurboPascal всё собирал сам - и модули в .obj или .tpu, и программы в .exe из исходников *.pas и бинарников (*.tpu) - без всяких систем сборки как из среды, так и из командной строки. Не знаю, почему для остальных языков программирования такие трудности и нужна отдельная система для сборки.

iZEN ★★★★★ ()
Последнее исправление: iZEN (всего исправлений: 1)
Ответ на: комментарий от iZEN

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

для остальных языков все адекватные IDE могут так же.

waker ★★★★★ ()
Ответ на: комментарий от mimimimi

(идите (подметать (улицы)))

Меня не взяли, кстати.

Как-то от избытка эмоций решил даунишифтится в дворники, не взяли.

rht ★★★★★ ()

Для всякой мелочёвки - просто пишу make руками.
Для работы - у нас CMake. Периодически плююсь, но надо. Хоть и фичастый, но шаг вправо-влево оборачивается дикой лапшой борьбы с этим самым cmake.
Для себя - сижу пробую meson. Вроде бы пока отторжения не вызывает. Может только пока.

SkyMaverick ()
Последнее исправление: SkyMaverick (всего исправлений: 1)

Cmake

Я бы почитал, как его нынче кошерно использовать (который 3.3+)...

shybovycha ()

CMake everywhere. Ant для жабки.

Хотя мне ещё waf понравился. Неплохая замена Make как таковому.

a1batross ★★★★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)