Pull to refresh

Comments 7

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

А может не надо? В мире уже достаточно CMake-говнокода и то, что описано в статье, только увеличило его количество.

:D

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

Чур, не предлагать алиасы, объекты и генераторы выражений, т.к. это поднимет порог чтения статьи, чего мне не хочется делать (:

Классная статья, спасибо)

Может быть в другой покажите кунг фу по симейку?

Я пользуюсь базовыми вещами в нем, было бы интересно посмотреть, где используются его навороты. В официальной доке на удивление практически нет примеров, только пространные рассказы о возможности)

Ну и по теме загрузчиков неплохой проект openblt.

https://github.com/feaser/openblt/

Он уже на симейк, поэтому переделывать ничего не нужно☺️☺️

Спасибо, Mcublog
Действительно в сети в быстром доступе достаточно мало примеров кода на CMake. Из-за этого в сети, как отметил @Playa, много примеров некорректного и антипаттерного кода. Если бы спрашивали моё мнение, то я бы порекомендовал книгу "Professional CMake: A Practical Guide" авторства Craig Scott .

На Habr я встречал статью, которая посвящена вольному пересказу книги. Какое-то время я раздумывал о том, чтобы сделать аналогичную публикацию по книге "Professional CMake: A Practical Guide", но это обесценит вклад Крейга Скотта, т.к. его книга не в открытом доступе. Могу порекомендовать Вам создать репозиторий, идти по чаптерам книги и экспериментировать с CMake. Эта система сборки очень и очень стоит внимания.

Про проект Feaser/OpenBit, который Вы упомянули, я не слышал из-за того, что моя сфера деятельности лишь косвенно связана с embedded сферой. Посмотрел его CMake код и увидел простоту и лаконичность. Не хватает CMake 3.21+, применения модулей, исправления дублирования кода, который есть в каждом проекте, объединения всех проектов под единый CMakeLists.txt, чтобы можно было заниматься всеми проектами с единым пространством кэша, и прочее.

Спасибо за Ваш пример. Возможно когда-нибудь я открою PR в его репозитория для усовершенствования CMake части.

Сила IT в его комьюнити! Да здравствует коллективная работа над open sources проектами!

Большое спасибо за такое подробное мнение. И за наводку на книгу, добавлю её в закладки.

Также было интересно прочитать вашу оценку сборки openblt, довольно плотно одно время с ним работал и остались приятные воспоминания.

Сила IT в его комьюнити! Да здравствует коллективная работа над open sources проектами!

Ура!!)

Я подам запрос разработчику Feaser/OpenBlt на выделенную ветку и постараюсь унифицировать работу с данным инструментов. По итогам работы постараюсь держать конкретно Вас в курсе.

Класс, спасибо большое. Интересно, что получится

Sign up to leave a comment.

Articles