Отправлено
11.03.2025 08:55
0cb8923
CMake
*****
Введение
========
CMake — это кросс-платформенная система сборки с открытым исходным кодом.
Для полной документации посетите страницу `CMake Home Page`_ и страницу
`CMake Documentation Page`_. Также на `CMake Community Wiki`_
размещены полезные руководства и рецепты.
.. _`CMake Home Page`: https://cmake.org
.. _`CMake Documentation Page`: https://cmake.org/documentation
.. _`CMake Community Wiki`: https://gitlab.kitware.com/cmake/community/-/wikis/home
CMake поддерживается и развивается компанией `Kitware`_, а также в сотрудничестве
с активным сообществом участников.
.. _`Kitware`: https://www.kitware.com/cmake
Лицензия
========
CMake распространяется под лицензией BSD 3-клавуз, одобренной организацией OSI.
Подробнее см. файл `LICENSE.rst`_.
.. _`LICENSE.rst`: LICENSE.rst
Сборка CMake
=============
Поддерживаемые платформы
-------------------------
* Microsoft Windows
* Apple macOS
* Linux
* FreeBSD
* OpenBSD
* Solaris
* AIX
Другие Unix-подобные операционные системы могут работать сразу же, если нет,
то проблема портирования CMake на эту платформу не должна быть значительной.
Пожалуйста, обратитесь на форум `CMake Discourse Forum`_, чтобы узнать,
имели ли другие опыт работы с этой платформой.
.. _`CMake Discourse Forum`: https://discourse.cmake.org
Сборка CMake с помощью CMake
----------------------------
Вы можете собрать CMake как любой другой проект с системой сборки на основе CMake:
выполните уже установленный CMake на этом дереве исходного кода с вашими предпочитаемыми
генераторами и опциями. Затем выполните сборку и установку.Чтобы собрать документацию, установите `Sphinx`_ и настройте CMake с помощью
опций ``-DSPHINX_HTML=ON`` и/или ``-DSPHINX_MAN=ON``, чтобы включить "html" или
"man" билдер. Добавьте ``-DSPHINX_EXECUTABLE=/путь/к/sphinx-build``, если этот
инструмент не будет найден автоматически.
Чтобы запустить набор тестов, выполните команду ``ctest`` в директории сборки CMake после
собранной версии. Подробнее см. руководство `CMake Testing Guide`_.
.. _`Sphinx`: https://sphinx-doc.org
.. _`CMake Testing Guide`: Help/dev/testing.rst
Сборка CMake с нуля
====================
UNIX/Mac OS X/MinGW/MSYS/Cygwin
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Необходимо наличие компилятора C++ (поддерживающего C++11) и программы ``make``.
Запустите скрипт ``bootstrap``, который находится в директории исходного кода CMake.
Вы можете использовать опцию ``--help``, чтобы просмотреть поддерживаемые опции.
Используйте опцию ``--prefix=``, чтобы указать пользовательскую
директорию установки для CMake. После успешного завершения выполните команды ``make``
и ``make install``. Например, если вы просто хотите собрать и установить CMake из исходников,
вы можете собраться непосредственно в дереве исходников:
::
$ ./bootstrap && make && sudo make install
Или, если вы планируете разрабатывать CMake или иначе запускать набор тестов, создайте
отдельное дерево сборки:
::
$ mkdir build && cd build
$ ../bootstrap && make
Windows
^^^^^^^
Существует два способа сборки CMake под Windows:1. Скомпилировать с помощью MSVC из VS 2015 или более поздней версии.
Вам потребуется скачать и установить бинарную версию CMake. Вы можете получить
эти выпуски с страницы `скачивания CMake`_. Затем продолжите следовать указаниям выше для `собора CMake с использованием CMake`_.2. Инициализировать с помощью MinGW под MSYS2.
Скачайте и установите `MSYS2`_. Затем установите необходимые средства сборки:
.. code-block:: bash
$ pacman -S --needed git base-devel mingw-w64-x86_64-gcc
и инициализируйте как указано выше.
.. _`скачивание CMake`: https://cmake.org/download
.. _`MSYS2`: https://www.msys2.org/
Отчет о проблемах
=================
Если вы нашли ошибку:
1. Если у вас есть исправление, пожалуйста, прочтите документ `CONTRIBUTING.rst`_.
2. В противном случае, пожалуйста, опубликуйте сообщение на форуме `CMake Discourse Forum`_ и спросите о
ожидаемых и наблюдаемых поведениях, чтобы определить, является ли это действительно
ошибкой.
3. Наконец, если проблема не решается благодаря приведенным выше шагам, откройте
запись в системе отслеживания ошибок `CMake Issue Tracker`_.
.. _`CMake Issue Tracker`: https://gitlab.kitware.com/cmake/cmake/-/issues
Участие
========
Для получения инструкций по участию обратитесь к документу `CONTRIBUTING.rst`_.
Опубликовать ( 0 )