CMake — это кроссплатформенная система мета-сборки с открытым исходным кодом, которая может создавать, тестировать и упаковывать программное обеспечение. Его можно использовать для поддержки нескольких собственных сред сборки, включая make, Apple xcode и Microsoft Visual Studio.
Этот репозиторий включает в себя несколько примеров современных конфигураций CMake, которые я подобрал при изучении его использования в различных проектах. Примеры представлены в формате учебного пособия. Первые примеры очень просты и постепенно усложняются, опираясь на предыдущие примеры, чтобы показать более сложные варианты использования.
Эти примеры были протестированы в Ubuntu 16.04, но они должны работать в любой системе Linux, поддерживающей CMake v3.5+.
Эта ветка работает с CMake версии 3.5 и выше.
Примеры использования CMake версии 2.x см. в ветке v2-style-includes.
Примеры использования CMake версии 3.0 см. в ветке v3.0-minimum.
Основные требования для большинства примеров:
CMake v3.5+
Компилятор C++ (по умолчанию gcc)
делать
Самый простой способ установить вышеперечисленное в Ubuntu заключается в следующем.
$ sudo apt-get install build-essential
$ sudo apt-get install cmake
Для некоторых конкретных примеров могут потребоваться другие инструменты, в том числе:
способствовать росту
$ sudo apt-get установить libboost-all-dev
протобуф
$ sudo apt-get установить libprotobuf-dev $ sudo apt-get установить protobuf-компилятор
cppcheck
$ sudo apt-get установить cppcheck
лязг
$ sudo apt-get установить clang-3.6
ниндзя
$ sudo apt-get установить ниндзя-сборку
Конан
$ sudo apt-get установить python3 python3-pip $ sudo pip3 установить Конан
Контейнеры Docker со всеми требованиями и различные версии CMake генерируются, чтобы упростить тестирование примеров. Они доступны в репозитории docker-hub matrim/cmake-examples.
Чтобы создать полный набор тестовых примеров cmake-examples, вы можете запустить:
docker run -it matrim/cmake-examples:3.5.1
cd ~
git clone https://github.com/ttroy50/cmake-examples.git code
cd code
./test.sh
Дополнительные сведения о сборке и запуске docker-файлов контейнеров докеров см.
В Интернете можно найти множество руководств и примеров по CMake. В списке ниже приведены ссылки на некоторые из них, которые я нашел полезными в своем путешествии по CMake.
Современные слайды CMake
Rix0r Современный блог CMake
Официальное руководство по CMake
Официальная вики CMake
Полезные переменные CMake
Дерек Моллой — Введение в CMake
Модульные проекты C++
Распространенные антишаблоны CMake
Использование статического анализатора clang с CMake
Статический анализ с CDash — включает некоторую информацию об использовании CppCheck с CMake.
Советы по CMake
Джон Лэмп — Учебное пособие по CMake
Документация Конана