LINUX.ORG.RU

История изменений

Исправление EXL, (текущая версия) :

искать зависимости ... CMake

Я тебя умоляю. Типичный CMake Way разработчиков этого поделия:

[CMake Code Monkey #1]: Смотрите на нашу новую сборочную систему CMake, мы написали кучу Find-модулей к популярным библиотекам и заботливо положили их в папочку дистрибутива программы! Разработчикам библиотек больше не нужно думать о написании этих модулей, а разработчикам программ не нужно писать их самостоятельно. Yay!

... прошло три года ...

[CMake Code Monkey #2]: Блин, с этими Find-модулями куча проблем! У нас не хватает рук и вообще мы маленькая компания. Что-то срочно надо делать. Давайте переложим работу по написанию Find-модулей на разработчиков библиотек! А что делать с уже написанными нами Find-модулями? Давайте их заморозим нахер и будем таскать мёртвым грузом за собой всегда! Пок-пок-пок!

... прошло два года ...

В сухом остатке: больше половины разработчиков либ забили на требование написать модули для CMake и поставлять их вместе со своими библиотеками, модули в CMake-дистрибутиве окончательно заскорузли и протухли, работа по написанию Find-модулей переложена по большей части на ментейнеров дистров и разработчиков программ, а не разработчиков библиотек, как предполагалась.

---

Отличный пример из жизни. Допустим, я хочу написать простейший HelloWorld, проигрывающий OGG-звук и отображающий PNG-изображение. Использовать буду современный SDL2 и сопутствующие либы как зависимости. Ну и сборочную систему CMake, конечно же.

Для поиска зависимостей можно использовать модули SDL2 из диструбутива CMake? Хер там! Нет их и их не принимают туда, так что там только модули для SDL1 и сопутствующих библиотек, CMake как бы говорит нам: иди-ка ты лесом.

Окей, что насчёт самой SDL2? Фух, разработчики положили туда Find-модули, проблема отпадает! Но нам же нужно выводить звук и изображение форматов, отличных от WAV и BMP, верно? Для этого нужны SDL2_mixer и SDL2_image. Смотрим в dev-пакеты этих либ в любом дистрибутиве или в их сорцы. Cюрприз-сюрприз, никаких Find-модулей там тупо нет и ими даже не пахнет!

https://github.com/davidsiaw/SDL2_mixer
https://github.com/davidsiaw/SDL2_image

А это значит, что я должен, как последний виндузятник, идти в интернет и скурпулёзно выковыривать из кучи мокрых писек эти дурацкие модули:

https://github.com/PetorSFZ/VR-Experimentation/blob/master/externals/sfzCore/...

Либо я должен потратить время, чтобы разобраться в наркоманском DSL, попутно преодолевая кучу подводных камней и в итоге написать эти модули своими руками. Желательно так, чтобы они получились кросс-платформенными. Весь GitHub пестрит этими велосипедами, разной степени упоротости:

[1], [2], [3], [4], [5], тысячи их.

Какой из них правильный и корректный? Кто мне ответит? CMake-разработчики? Точно так же касательно библиотеки SDL2_image или вообще любой другой популярной библиотеки, где забили на капризных идиотов из Kitware.

В итоге в любом сколько-нибудь сложном проекте со сборочной системой CMake разработчики греют голову о четырёх наборах разных Find-модулей: 1) заскорузлая херня из дистрибутива CMake, 2) модули разработчиков либ, которые прогнулись под требования CMake-быдлокодеров, 3) модули для либ, разработчики которых срать хотели на CMake, натыренные из интернета, 4) самописные кривые модули от полуразобравшихся в угрёбищном DSL CMake'а программистов.

И самое смешное, что c SDL1 таких проблем не будет. Все замороженные Find-модули лежат и работают как надо:

http://esxi.z-lab.me:666/~exl_lab/screens/CMake_Old_SDL_Find_Modules.png

Позор CMake-разработчикам: https://github.com/Kitware/CMake/pull/152, которые резко «не осилили» и пошли на попятную. И ссаной тряпкой им по лицу. Когда кто-то говорит о CMake и о поиске зависимостей, у адекватных людей это должно вызывать лишь громкий хохот, переходящий в истерику. Потому что хуже эту функциональность сделать ну просто невозможно! Лучше бы её вообще не было.

Исправление EXL, :

искать зависимости ... CMake

Я тебя умоляю. Типичный CMake Way разработчиков этого поделия:

[CMake Code Monkey #1]: Смотрите на нашу новую сборочную систему CMake, мы написали кучу Find-модулей к популярным библиотекам и заботливо положили их в папочку дистрибутива программы! Разработчикам библиотек больше не нужно думать о написании этих модулей, а разработчикам программ не нужно писать их самостоятельно. Yay!

... прошло три года ...

[CMake Code Monkey #2]: Блин, с этими Find-модулями куча проблем! У нас не хватает рук и вообще мы маленькая компания. Что-то срочно надо делать. Давайте переложим работу по написанию Find-модулей на разработчиков библиотек! А что делать с уже написанными нами Find-модулями? Давайте их заморозим нахер и будем таскать мёртвым грузом за собой всегда! Пок-пок-пок!

... прошло два года ...

В сухом остатке: больше половины разработчиков либ забили на требование написать модули для CMake и поставлять их вместе со своими библиотеками, модули в CMake-дистрибутиве окончательно заскорузли и протухли, работа по написанию Find-модулей переложена по большей части на ментейнеров дистров и разработчиков программ, а не разработчиков библиотек, как предполагалась.

---

Отличный пример из жизни. Допустим, я хочу написать простейший HelloWorld, проигрывающий OGG-звук и отображающий PNG-изображение. Использовать буду современный SDL2 и сопутствующие либы как зависимости. Ну и сборочную систему CMake, конечно же.

Для поиска зависимостей можно использовать модули SDL2 из диструбутива CMake? Хер там! Нет их и их не принимают туда, так что там только модули для SDL1 и сопутствующих библиотек, CMake как бы говорит нам: иди-ка ты лесом.

Окей, что насчёт самой SDL2? Фух, разработчики положили туда Find-модули, проблема отпадает! Но нам же нужно выводить звук и изображение форматов, отличных от WAV и BMP, верно? Для этого нужны SDL2_mixer и SDL2_image. Смотрим в dev-пакеты этих либ в любом дистрибутиве или в их сорцы. Cюрприз-сюрприз, никаких Find-модулей там тупо нет и ими даже не пахнет!

https://github.com/davidsiaw/SDL2_mixer
https://github.com/davidsiaw/SDL2_image

А это значит, что я должен, как последний виндузятник идти в интернет и скурпулёзно выковыривать из кучи мокрых писек эти дурацкие модули:

https://github.com/PetorSFZ/VR-Experimentation/blob/master/externals/sfzCore/...

Либо я должен потратить время, чтобы разобраться в наркоманском DSL, попутно преодолевая кучу подводных камней и в итоге написать эти модули своими руками. Желательно так, чтобы они получились кросс-платформенными. Весь GitHub пестрит этими велосипедами, разной степени упоротости:

[1], [2], [3], [4], [5], тысячи их.

Какой из них правильный и корректный? Кто мне ответит? CMake-разработчики? Точно так же касательно библиотеки SDL2_image или вообще любой другой популярной библиотеки, где забили на капризных идиотов из Kitware.

В итоге в любом сколько-нибудь сложном проекте со сборочной системой CMake разработчики греют голову о четырёх наборах разных Find-модулей: 1) заскорузлая херня из дистрибутива CMake, 2) модули разработчиков либ, которые прогнулись под требования CMake-быдлокодеров, 3) модули для либ, разработчики которых срать хотели на CMake, натыренные из интернета, 4) самописные кривые модули от полуразобравшихся в угрёбищном DSL CMake'а программистов.

И самое смешное, что c SDL1 таких проблем не будет. Все замороженные Find-модули лежат и работают как надо:

http://esxi.z-lab.me:666/~exl_lab/screens/CMake_Old_SDL_Find_Modules.png

Позор CMake-разработчикам: https://github.com/Kitware/CMake/pull/152, которые резко «не осилили» и пошли на попятную. И ссаной тряпкой им по лицу.

Когда кто-то говорит о CMake и о поиске зависимостей, у адекватных людей это должно вызывать лишь громкий хохот, переходящий в истерику. Потому что хуже эту функциональность сделать ну просто невозможно! Лучше бы её вообще не было.

Исправление EXL, :

искать зависимости ... CMake

Я тебя умоляю. Типичный CMake Way разработчиков этого поделия:

[CMake Code Monkey #1]: Смотрите на нашу новую сборочную систему CMake, мы написали кучу Find-модулей к популярным библиотекам и заботливо положили их в папочку дистрибутива программы! Разработчикам библиотек больше не нужно думать о написании этих модулей, а разработчикам программ не нужно писать их самостоятельно. Yay!

... прошло три года ...

[CMake Code Monkey #2]: Блин, с этими Find-модулями куча проблем! У нас не хватает рук и вообще мы маленькая компания. Что-то срочно надо делать. Давайте переложим работу по написанию Find-модулей на разработчиков библиотек! А что делать с уже написанными нами Find-модулями? Давайте их заморозим нахер и будем таскать мёртвым грузом за собой всегда! Пок-пок-пок!

... прошло два года ...

В сухом остатке: больше половины разработчиков либ забили на требование написать модули для CMake и поставлять их вместе со своими библиотеками, модули в CMake-дистрибутиве окончательно заскорузли и протухли, работа по написанию Find-модулей переложена по большей части на ментейнеров дистров и разработчиков программ, а не разработчиков библиотек, как предполагалась.

---

Отличный пример из жизни. Допустим, я хочу написать простейший HelloWorld, проигрывающий OGG-звук и отображающий PNG-изображение. Использовать буду современный SDL2 и сопутствующие либы как зависимости. Ну и сборочную систему CMake, конечно же.

Для поиска зависимостей можно использовать модули SDL2 из диструбутива CMake? Хер там! Нет их и их не принимают туда, так что там только модули для SDL1 и сопутствующих библиотек, CMake как бы говорит нам: иди-ка ты лесом.

Окей, что насчёт самой SDL2? Фух, разработчики положили туда Find-модули, проблема отпадает! Но нам же нужно выводить звук и изображение форматов, отличных от WAV и BMP, верно? Для этого нужны SDL2_mixer и SDL2_image. Смотрим в dev-пакеты этих либ в твоём дистрибутиве или в сорцы. Cюрприз-сюрприз, никаких Find-модулей там тупо нет и ими даже не пахнет!

https://github.com/davidsiaw/SDL2_mixer
https://github.com/davidsiaw/SDL2_image

А это значит, что я должен, как последний виндузятник идти в интернет и скурпулёзно выковыривать из кучи мокрых писек эти дурацкие модули:

https://github.com/PetorSFZ/VR-Experimentation/blob/master/externals/sfzCore/...

Либо я должен потратить время, чтобы разобраться в наркоманском DSL, попутно преодолевая кучу подводных камней и в итоге написать эти модули своими руками. Желательно так, чтобы они получились кросс-платформенными. Весь GitHub пестрит этими велосипедами, разной степени упоротости:

[1], [2], [3], [4], [5], тысячи их.

Какой из них правильный и корректный? Кто мне ответит? CMake-разработчики? Точно так же касательно библиотеки SDL2_image или вообще любой другой популярной библиотеки, где забили на капризных идиотов из Kitware.

В итоге в любом сколько-нибудь сложном проекте со сборочной системой CMake разработчики греют голову о четырёх наборах разных Find-модулей: 1) заскорузлая херня из дистрибутива CMake, 2) модули разработчиков либ, которые прогнулись под требования CMake-быдлокодеров, 3) модули для либ, разработчики которых срать хотели на CMake, натыренные из интернета, 4) самописные кривые модули от полуразобравшихся в угрёбищном DSL CMake'а программистов.

И самое смешное, что c SDL1 таких проблем не будет. Все замороженные Find-модули лежат и работают как надо:

http://esxi.z-lab.me:666/~exl_lab/screens/CMake_Old_SDL_Find_Modules.png

Позор CMake-разработчикам: https://github.com/Kitware/CMake/pull/152, которые резко «не осилили» и пошли на попятную. И ссаной тряпкой им по лицу.

Когда кто-то говорит о CMake и о поиске зависимостей, у адекватных людей это должно вызывать лишь громкий хохот, переходящий в истерику. Потому что хуже эту функциональность сделать ну просто невозможно! Лучше бы её вообще не было.

Исправление EXL, :

искать зависимости ... CMake

Я тебя умоляю. Типичный CMake Way разработчиков этого поделия:

[CMake Code Monkey #1]: Смотрите на нашу новую сборочную систему CMake, мы написали кучу Find-модулей к популярным библиотекам и заботливо положили их в папочку дистрибутива программы! Разработчикам библиотек больше не нужно думать о написании этих модулей, а разработчикам программ не нужно писать их самостоятельно. Yay!

... прошло три года ...

[CMake Code Monkey #2]: Блин, с этими Find-модулями куча проблем! У нас не хватает рук и вообще мы маленькая компания. Что-то срочно надо делать. Давайте переложим работу по написанию Find-модулей на разработчиков библиотек! А что делать с уже написанными нами Find-модулями? Давайте их заморозим нахер и будем таскать мёртвым грузом за собой всегда! Пок-пок-пок!

... прошло два года ...

В сухом остатке: больше половины разработчиков либ забили на требование написать модули для CMake и поставлять их вместе со своими библиотеками, модули в CMake-дистрибутиве окончательно заскорузли и протухли, работа по написанию Find-модулей переложена по большей части на ментейнеров дистров и разработчиков программ, а не разработчиков библиотек, как предполагалась.

---

Отличный пример из жизни. Допустим, я хочу написать простейший HelloWorld, проигрывающий OGG-звук и отображающий PNG-изображение. Использовать буду современный SDL2 и сопутствующие либы как зависимости. Ну и сборочную систему CMake, конечно же.

Для поиска зависимостей можно использовать модули SDL2 из диструбутива CMake? Хер там! Нет их и их не принимают туда, так что там только модули для SDL1 и сопутствующих библиотек, CMake как бы говорит нам: иди-ка ты лесом.

Окей, что насчёт самой SDL2? Фух, разработчики положили туда Find-модули, проблема отпадает! Но нам же нужно выводить звук и изображение, верно? Для этого нужны SDL2_mixer и SDL2_image. Смотрим в dev-пакеты этих либ в твоём дистрибутиве или в сорцы. Cюрприз-сюрприз, никаких Find-модулей там тупо нет и ими даже не пахнет!

https://github.com/davidsiaw/SDL2_mixer
https://github.com/davidsiaw/SDL2_image

А это значит, что я должен, как последний виндузятник идти в интернет и скурпулёзно выковыривать из кучи мокрых писек эти дурацкие модули:

https://github.com/PetorSFZ/VR-Experimentation/blob/master/externals/sfzCore/...

Либо я должен потратить время, чтобы разобраться в наркоманском DSL, попутно преодолевая кучу подводных камней и в итоге написать эти модули своими руками. Желательно так, чтобы они получились кросс-платформенными. Весь GitHub пестрит этими велосипедами, разной степени упоротости:

[1], [2], [3], [4], [5], тысячи их.

Какой из них правильный и корректный? Кто мне ответит? CMake-разработчики? Точно так же касательно библиотеки SDL2_image или вообще любой другой популярной библиотеки, где забили на капризных идиотов из Kitware.

В итоге в любом сколько-нибудь сложном проекте со сборочной системой CMake разработчики греют голову о четырёх наборах разных Find-модулей: 1) заскорузлая херня из дистрибутива CMake, 2) модули разработчиков либ, которые прогнулись под требования CMake-быдлокодеров, 3) модули для либ, разработчики которых срать хотели на CMake, натыренные из интернета, 4) самописные кривые модули от полуразобравшихся в угрёбищном DSL CMake'а программистов.

И самое смешное, что c SDL1 таких проблем не будет. Все замороженные Find-модули лежат и работают как надо:

http://esxi.z-lab.me:666/~exl_lab/screens/CMake_Old_SDL_Find_Modules.png

Позор CMake-разработчикам: https://github.com/Kitware/CMake/pull/152, которые резко «не осилили» и пошли на попятную. И ссаной тряпкой им по лицу.

Когда кто-то говорит о CMake и о поиске зависимостей, у адекватных людей это должно вызывать лишь громкий хохот, переходящий в истерику. Потому что хуже эту функциональность сделать ну просто невозможно! Лучше бы её вообще не было.

Исходная версия EXL, :

искать зависимости ... CMake

Я тебя умоляю. Типичный CMake Way разработчиков этого поделия:

[CMake Code Monkey #1]: Смотрите на нашу новую сборочную систему CMake, мы написали кучу Find-модулей к популярным библиотекам и заботливо положили их в папочку дистрибутива программы! Разработчикам библиотек больше не нужно думать о написании этих модулей, а разработчикам программ не нужно писать их самостоятельно. Yay!

... прошло три года ...

[CMake Code Monkey #2]: Блин, с этими Find-модулями куча проблем! У нас не хватает рук и вообще мы маленькая компания. Что-то срочно надо делать. Давайте переложим работу по написанию Find-модулей на разработчиков библиотек! А что делать с уже написанными нами Find-модулями? Давайте их заморозим нахер и будем таскать мёртвым грузом за собой всегда! Пок-пок-пок!

... прошло два года ...

В сухом остатке: больше половины разработчиков либ забили на требование написать модули для CMake и поставлять их вместе со своими библиотеками, модули в CMake-дистрибутиве окончательно заскорузли и протухли, работа по написанию Find-модулей переложена по большей части на ментейнеров дистров и разработчиков программ, а не разработчиков библиотек, как предполагалась.

---

Отличный пример из жизни. Допустим, я хочу написать простейший HelloWorld, проигрывающий OGG-звук и отображающий PNG-изображение. Использовать буду современный SDL2 и сопутствующие либы как зависимости. Ну и сборочную систему CMake, конечно же.

Для поиска зависимостей можно использовать модули SDL2 из диструбутива CMake? Хер там! Нет их и их не принимают туда, так что там только модули для SDL1 и сопутствующих библиотек, CMake как бы говорит нам: иди-ка ты лесом.

Окей, что насчёт самой SDL2? Фух, разработчики положили туда Find-модули, проблема отпадает! Но нам же нужно выводить звук и изображение, верно? Для этого нужны SDL2_mixer и SDL2_image. Смотрим в dev-пакеты этих либ в твоём дистрибутиве или в сорцы. Cюрприз-сюрприз, никаких Find-модулей там тупо нет и ими даже не пахнет!

https://github.com/davidsiaw/SDL2_mixer
https://github.com/davidsiaw/SDL2_image

А это значит, что я должен, как последний виндузятник идти в интернет и скурпулёзно выковыривать из кучи мокрых писек эти дурацкие модули:

https://github.com/PetorSFZ/VR-Experimentation/blob/master/externals/sfzCore/...

Либо я должен потратить время, чтобы разобраться в наркоманском DSL, попутно преодолевая кучу подводных камней и в итоге написать эти модули своими руками. Желательно так, чтобы они получились кросс-платформенными. Весь GitHub пестрит этими велосипедами, разной степени упоротости:

[1], [2], [3], [4], [5], тысячи их.

Какой из них правильный и корректный? Кто мне ответит? CMake-разработчики? Точно так же касательно библиотеки SDL2_image или вообще любой другой популярной библиотеки, где забили на капризных идиотов из Kitware.

В итоге в любом сколько-нибудь сложном проекте со сборочной системой CMake разработчики греют голову о четырёх наборах разных Find-модулей: 1) заскорузлая херня из дистрибутива CMake, 2) модули разработчиков либ, которые прогнулись под требования CMake-быдлокодеров, 3) модули для либ, разработчики которых срать хотели на CMake, натыренные из интернета, 4) самописные кривые модули от полуразобравшихся в угрёбищном DSL CMake'а программистов.

И самое смешное, что c SDL1 таких проблем не будет. Все замороженные Find-модули лежат и работают как надо:

http://esxi.z-lab.me:666/~exl_lab/screens/CMake_Old_SDL_Find_Modules.png

Позор CMake-разработчикам: https://github.com/Kitware/CMake/pull/152, которые резко «не осилили» и пошли на попятную. И ссаной тряпкой им по лицу.

Когда кто-то говорит о CMake и о поиске зависимостей, у адекватных людей это должно вызывать лишь громкий хохот, переходящий в истерику. Потому что хуже эту функциональность сделать ну просто невозможно! Лучше бы её вообще не было.