2014-01-29 15:56:27 +00:00
|
|
|
CMake
|
|
|
|
*****
|
|
|
|
|
|
|
|
Introduction
|
|
|
|
============
|
|
|
|
|
|
|
|
CMake is a cross-platform, open-source build system generator.
|
|
|
|
For full documentation visit the `CMake Home Page`_ and the
|
2018-08-01 21:08:36 +00:00
|
|
|
`CMake Documentation Page`_. The `CMake Community Wiki`_ also
|
|
|
|
references useful guides and recipes.
|
2014-01-29 15:56:27 +00:00
|
|
|
|
2015-09-25 19:44:12 +00:00
|
|
|
.. _`CMake Home Page`: https://cmake.org
|
|
|
|
.. _`CMake Documentation Page`: https://cmake.org/cmake/help/documentation.html
|
2018-08-01 21:08:36 +00:00
|
|
|
.. _`CMake Community Wiki`: https://gitlab.kitware.com/cmake/community/wikis/home
|
2014-01-29 15:56:27 +00:00
|
|
|
|
2014-06-03 13:19:57 +00:00
|
|
|
CMake is maintained and supported by `Kitware`_ and developed in
|
2014-02-03 16:10:02 +00:00
|
|
|
collaboration with a productive community of contributors.
|
|
|
|
|
2014-06-03 13:19:57 +00:00
|
|
|
.. _`Kitware`: http://www.kitware.com/cmake
|
2014-02-03 16:10:02 +00:00
|
|
|
|
2014-01-29 15:56:27 +00:00
|
|
|
License
|
|
|
|
=======
|
|
|
|
|
|
|
|
CMake is distributed under the OSI-approved BSD 3-clause License.
|
|
|
|
See `Copyright.txt`_ for details.
|
|
|
|
|
|
|
|
.. _`Copyright.txt`: Copyright.txt
|
|
|
|
|
|
|
|
Building CMake
|
|
|
|
==============
|
|
|
|
|
|
|
|
Supported Platforms
|
|
|
|
-------------------
|
|
|
|
|
2017-06-13 15:49:49 +00:00
|
|
|
* Microsoft Windows
|
|
|
|
* Apple macOS
|
|
|
|
* Linux
|
|
|
|
* FreeBSD
|
|
|
|
* OpenBSD
|
|
|
|
* Solaris
|
2017-08-04 13:45:03 +00:00
|
|
|
* AIX
|
2014-01-29 15:56:27 +00:00
|
|
|
|
|
|
|
Other UNIX-like operating systems may work too out of the box, if not
|
|
|
|
it should not be a major problem to port CMake to this platform.
|
|
|
|
Subscribe and post to the `CMake Users List`_ to ask if others have
|
|
|
|
had experience with the platform.
|
|
|
|
|
2015-09-25 19:44:12 +00:00
|
|
|
.. _`CMake Users List`: https://cmake.org/mailman/listinfo/cmake
|
2014-01-29 15:56:27 +00:00
|
|
|
|
|
|
|
Building CMake from Scratch
|
|
|
|
---------------------------
|
|
|
|
|
|
|
|
UNIX/Mac OSX/MinGW/MSYS/Cygwin
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
2017-08-11 17:19:05 +00:00
|
|
|
You need to have a C++ compiler (supporting C++11) and a ``make`` installed.
|
2015-10-29 13:22:01 +00:00
|
|
|
Run the ``bootstrap`` script you find in the source directory of CMake.
|
2014-01-29 15:56:27 +00:00
|
|
|
You can use the ``--help`` option to see the supported options.
|
|
|
|
You may use the ``--prefix=<install_prefix>`` option to specify a custom
|
|
|
|
installation directory for CMake. You can run the ``bootstrap`` script from
|
|
|
|
within the CMake source directory or any other build directory of your
|
|
|
|
choice. Once this has finished successfully, run ``make`` and
|
|
|
|
``make install``. In summary::
|
|
|
|
|
2018-10-17 08:53:03 +00:00
|
|
|
$ ./bootstrap && make && sudo make install
|
2014-01-29 15:56:27 +00:00
|
|
|
|
|
|
|
Windows
|
|
|
|
^^^^^^^
|
|
|
|
|
|
|
|
You need to download and install a binary release of CMake in order to build
|
2018-10-09 07:58:30 +00:00
|
|
|
CMake. You can get these releases from the `CMake Download Page`_. Then
|
2014-01-29 15:56:27 +00:00
|
|
|
proceed with the instructions below.
|
|
|
|
|
2015-09-25 19:44:12 +00:00
|
|
|
.. _`CMake Download Page`: https://cmake.org/cmake/resources/software.html
|
2014-01-29 15:56:27 +00:00
|
|
|
|
|
|
|
Building CMake with CMake
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
You can build CMake as any other project with a CMake-based build system:
|
|
|
|
run the installed CMake on the sources of this CMake with your preferred
|
|
|
|
options and generators. Then build it and install it.
|
|
|
|
For instructions how to do this, see documentation on `Running CMake`_.
|
|
|
|
|
2015-09-25 19:44:12 +00:00
|
|
|
.. _`Running CMake`: https://cmake.org/cmake/help/runningcmake.html
|
2014-01-29 15:56:27 +00:00
|
|
|
|
2018-10-09 11:26:50 +00:00
|
|
|
To build the documentation, install `Sphinx`_ and configure CMake with
|
|
|
|
``-DSPHINX_HTML=ON`` and/or ``-DSPHINX_MAN=ON`` to enable the "html" or
|
|
|
|
"man" builder. Add ``-DSPHINX_EXECUTABLE=/path/to/sphinx-build`` if the
|
|
|
|
tool is not found automatically.
|
|
|
|
|
|
|
|
.. _`Sphinx`: http://sphinx-doc.org
|
|
|
|
|
2014-08-04 13:41:37 +00:00
|
|
|
Reporting Bugs
|
|
|
|
==============
|
|
|
|
|
|
|
|
If you have found a bug:
|
|
|
|
|
|
|
|
1. If you have a patch, please read the `CONTRIBUTING.rst`_ document.
|
|
|
|
|
2015-07-02 13:09:33 +00:00
|
|
|
2. Otherwise, please join the `CMake Users List`_ and ask about
|
2014-08-04 13:41:37 +00:00
|
|
|
the expected and observed behaviors to determine if it is really
|
|
|
|
a bug.
|
|
|
|
|
|
|
|
3. Finally, if the issue is not resolved by the above steps, open
|
|
|
|
an entry in the `CMake Issue Tracker`_.
|
|
|
|
|
2016-06-09 20:12:08 +00:00
|
|
|
.. _`CMake Issue Tracker`: https://gitlab.kitware.com/cmake/cmake/issues
|
2014-08-04 13:41:37 +00:00
|
|
|
|
2014-01-29 15:56:27 +00:00
|
|
|
Contributing
|
|
|
|
============
|
|
|
|
|
|
|
|
See `CONTRIBUTING.rst`_ for instructions to contribute.
|
|
|
|
|
|
|
|
.. _`CONTRIBUTING.rst`: CONTRIBUTING.rst
|