Подводные камни CMake и где они обитают

Дмитрий Кожевников

Работает в компании JetBrains над поддержкой языка C++ в CLion IDE. Активно следит за новостями и тенденциями в сообществе C++, как из любопытства, так и получая разнообразную обратную связь от пользователей продукта.


Система сборки CMake постепенно становится стандартом де-факто для кроссплатформенного программирования на C++. Однако часто она подвергается справедливой критике, в том числе за неудобный скриптовый язык, устаревшую документацию и за то, что одни и те же задачи в ней можно выполнять разными способами, при этом понять, какой из них более правильный в конкретной ситуации, бывает довольно сложно. Я расскажу:

  • частые популярные анти-паттерны и чем они плохи,
  • на каких уровнях абстрации работает CMake, и когда они "протекают",
  • что такое "Modern CMake" и в чем его преимущества,
  • как локализовывать и отлаживать проблемы в CMake-скриптах (в том числе довольно экзотическими средствами).

Platinum спонсор

Gold спонсоры

Silver спонсоры

Community спонсоры