-
- Могу конечно, скину ссылку на репозиторий как вернусь домой. Моё
решение похоже на то, что у вас, но с некоторыми отличиями: evgeniy1294(523 знак., 08.12.2020 18:36)
- Вот простой пример скрипта evgeniy1294(60 знак., 09.12.2020 00:32, ссылка)
- Взял отпуск "поэкспериментировать с cmake"??? Охереть. Обычно за это зарплату платят. - fk0(08.12.2020 20:59)
- Не люблю "автоматику" при сборке. Причина высказана выше. Когда что-то ломается, разбираться приходится уже со скриптами, не почему "этого" нет (очевидно потому что не определено), а откуда и как "это" берётся. - RxTx(08.12.2020 20:22)
- Увы, это проект НИИЭТ, а не мой. VVB(251 знак., 08.12.2020 19:54)
- Даю информацию: CMake кусок говна написанный наркоманами (попробуй
дать ответ на вопрос, каковы правила раскрытия переменных в if()) и
при отсутствии кросс-платформенности (а-ля линукс-винда) нахрен не
нужен (кросплатформенность между разными контроллерами не в счёт --
он всё равно ничего не знает про контроллеры). Во многих случаях
достаточно обычного GNU Make. Его тоже можно сделать
кросплатформенным, причём на таком наборе разных конфигураций, что
CMake и рядом не стоял fk0(1 знак., 08.12.2020 21:02)
- "кусок говна написанный наркоманами" Хе-хе-хе, ха-ха-ха. Понятно
:))) Тоже, небось, с наскоку пытался разобраться. У них да, плохо с
концептуальной документацией. Опасность любой высокоуровневой
системы в том, что её всегда можно заменить низкоуровневой (оно и
понятно, Cmake генерирует makeфайлы) и быть отвергнутой. - RxTx(08.12.2020 21:29)
- Без наскока понятно, что система неконсистентна и представляет
собой набор противоречивых правил. В жопу такую систему. Её понять
невозможно, только выучить. Но зачем? Попробуй ответить на вопрос,
чем CMake лучше чем Make для системы о которой CMake ничего не
знает? - fk0(08.12.2020 21:32)
- Всё дело в поддержке. Очень сложно поддерживать сборку на десяток
платформ с разными компиляторами с разными либами когда всё это
жестко прописано до файла. Наступает а) комбинаторный взрыв и б)
учёт каждого файла вручную для каждой конфигурации. Cmake аналог
configure scripts на самом деле. P.S. тебе как красноглазику, лишь
бы доебаться с вопросом что лучше/хуже, приступиться и трясти за
грудки. Заметь, я ни разу не сказал лучше/хуже. Не холиварь =) - RxTx(08.12.2020 21:43)
- Пункты а и б, честно говоря не совсем понял. Видел и активно правил такую систему, где на ~40 платформ (включая синтетические и тесты, а так всего десяток). И ничего... Ну там make раз десять рекурсивно вызывается... и компилит. Больше сотни мейкфайлов, основные два -- 1500 строк. После того как въехал как сделано, уже и не так страшно. Даже текстовые файлы парсить мейком на языке мейка теперь не страшно. - fk0(08.12.2020 22:23)
- А CMake по-твоему волшебный и там ничего не возникает? Если
исключить веру в волшебную программу которая делает всё (а она
понятия не имеет как делать всё) то CMake по сути -- ПУСТАЯ
АБСТРАКЦИЯ. Она имеет смысл для тех случаев, когда работают её
встроенные правила, но когда их нет -- обычный Make ничем не хуже.
Я не доебаться, просто вижу, что пропагандируются какие-то взгляды,
мол XXX -- волшебное и единственный true way, а всё остальное мол
говно. Вопрос почему и какими fk0(2422 знак., 08.12.2020 22:16, ссылка)
- Мы и так знаем, что cmake - говно, придуманное наркоманами во время очередного прихода, но какого-то хрена все конкуренты cmake дохнут. Qbs жалко, хорошая ж система сборки, ещё бы зависимость от qt убрать, однако померла. Может быть хоть Meson выстрелит. evgeniy1294(175 знак., 08.12.2020 23:42)
- O.K. ! - RxTx(08.12.2020 23:26)
- Всё дело в поддержке. Очень сложно поддерживать сборку на десяток
платформ с разными компиляторами с разными либами когда всё это
жестко прописано до файла. Наступает а) комбинаторный взрыв и б)
учёт каждого файла вручную для каждой конфигурации. Cmake аналог
configure scripts на самом деле. P.S. тебе как красноглазику, лишь
бы доебаться с вопросом что лучше/хуже, приступиться и трясти за
грудки. Заметь, я ни разу не сказал лучше/хуже. Не холиварь =) - RxTx(08.12.2020 21:43)
- Без наскока понятно, что система неконсистентна и представляет
собой набор противоречивых правил. В жопу такую систему. Её понять
невозможно, только выучить. Но зачем? Попробуй ответить на вопрос,
чем CMake лучше чем Make для системы о которой CMake ничего не
знает? - fk0(08.12.2020 21:32)
- "кусок говна написанный наркоманами" Хе-хе-хе, ха-ха-ха. Понятно
:))) Тоже, небось, с наскоку пытался разобраться. У них да, плохо с
концептуальной документацией. Опасность любой высокоуровневой
системы в том, что её всегда можно заменить низкоуровневой (оно и
понятно, Cmake генерирует makeфайлы) и быть отвергнутой. - RxTx(08.12.2020 21:29)
- Даю информацию: CMake кусок говна написанный наркоманами (попробуй
дать ответ на вопрос, каковы правила раскрытия переменных в if()) и
при отсутствии кросс-платформенности (а-ля линукс-винда) нахрен не
нужен (кросплатформенность между разными контроллерами не в счёт --
он всё равно ничего не знает про контроллеры). Во многих случаях
достаточно обычного GNU Make. Его тоже можно сделать
кросплатформенным, причём на таком наборе разных конфигураций, что
CMake и рядом не стоял fk0(1 знак., 08.12.2020 21:02)
- Могу конечно, скину ссылку на репозиторий как вернусь домой. Моё
решение похоже на то, что у вас, но с некоторыми отличиями: evgeniy1294(523 знак., 08.12.2020 18:36)