Re[3]: cmake адское НЕ НУЖНОЕ говно...
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 27.01.21 01:29
Оценка:
Здравствуйте, LaptevVV, Вы писали:

V>>Утилита make у каждого компилятора своя, со своим синтаксисом, отсюда и попытки создать что-то обобщающее.

LVV>Ты для меня прям открытие сделал.
LVV>У каждого компилятора есть собственный make?
LVV>Я всю жизнь считал, что make — это такая отдельная утилитка, независимая ни от чего, на языке которой мы пишем скрипт сборки.

Чисто теоретически можно считать и так, особенно если думать не о формате, а об исходной утилите make. Но если взять на практике, разве makefile для одного проекта совпадают для разных компиляторов, те же GCC и Microsoft Compilers? Насчёт независимой утилиты это вопрос реализации и лицензии. Можно взять чужую программу и поставлять с компиляторами, а потом нарваться на правообладателя.

В теории и html это единый стандарт, а на практике куча браузеров и особо отличившиеся версии IE от того же Microsoft. Или вот SQL, вроде один язык, а нет, в каждой базе данных свой, причём тоже самое про диалекты, что и в make.

Диалекты
1) SQL-86
2) SQL-89
3) SQL-92
4) SQL:1999
5) SQL:2003
6) SQL:2008

А если я, например, хочу генерировать из одного общего языка запросы для других баз данных, вот и начинается. И был бы единый стандарт для сборки не городили бы всякие cmake, scons, autotools, qmake и прочее. Наверное компилируя чужие известные проекты я чаще генерирую makefile под свою платформу нежели использую готовый makefile.

В целом же хоть в топике и затронута тема компиляторов, по сути обычный пользователь не должен этим заниматься. Для компиляции на халяву хватило бы и cmake-gui, ну или даже просто прочитать readme и запустить несколько указанных там строчек в том числе и для других генераторов. А то, что для тонкой настройки компиляции для каждой платформы надо потратить дополнительные усилия и так понятно.
Отредактировано 27.01.2021 1:30 velkin . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.