123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- CMake
- *****
- Introduction
- ============
- CMake is a cross-platform, open-source build system generator.
- For full documentation visit the `CMake Home Page`_ and the
- `CMake Documentation Page`_. The `CMake Community Wiki`_ also
- references useful guides and recipes.
- .. _`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 is maintained and supported by `Kitware`_ and developed in
- collaboration with a productive community of contributors.
- .. _`Kitware`: https://www.kitware.com/cmake
- License
- =======
- CMake is distributed under the OSI-approved BSD 3-clause License.
- See `LICENSE.rst`_ for details.
- .. _`LICENSE.rst`: LICENSE.rst
- Building CMake
- ==============
- Supported Platforms
- -------------------
- * Microsoft Windows
- * Apple macOS
- * Linux
- * FreeBSD
- * OpenBSD
- * Solaris
- * AIX
- 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.
- Please post to the `CMake Discourse Forum`_ to ask if others have
- had experience with the platform.
- .. _`CMake Discourse Forum`: https://discourse.cmake.org
- Building CMake with CMake
- -------------------------
- You can build CMake as any other project with a CMake-based build system:
- run an already-installed CMake on this source tree with your preferred
- generator and options. Then build it and install it.
- 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.
- To run the test suite, run ``ctest`` in the CMake build directory after
- building. See the `CMake Testing Guide`_ for details.
- .. _`Sphinx`: https://sphinx-doc.org
- .. _`CMake Testing Guide`: Help/dev/testing.rst
- Building CMake from Scratch
- ---------------------------
- UNIX/Mac OSX/MinGW/MSYS/Cygwin
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- You need to have a C++ compiler (supporting C++11) and a ``make`` installed.
- Run the ``bootstrap`` script you find in the source directory of CMake.
- 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. Once this has finished successfully,
- run ``make`` and ``make install``.
- For example, if you simply want to build and install CMake from source,
- you can build directly in the source tree::
- $ ./bootstrap && make && sudo make install
- Or, if you plan to develop CMake or otherwise run the test suite, create
- a separate build tree::
- $ mkdir build && cd build
- $ ../bootstrap && make
- Windows
- ^^^^^^^
- There are two ways for building CMake under Windows:
- 1. Compile with MSVC from VS 2015 or later.
- You need to download and install a binary release of CMake. You can get
- these releases from the `CMake Download Page`_. Then proceed with the
- instructions above for `Building CMake with CMake`_.
- 2. Bootstrap with MinGW under MSYS2.
- Download and install `MSYS2`_. Then install the required build tools::
- $ pacman -S --needed git base-devel mingw-w64-x86_64-gcc
- and bootstrap as above.
- .. _`CMake Download Page`: https://cmake.org/download
- .. _`MSYS2`: https://www.msys2.org/
- Reporting Bugs
- ==============
- If you have found a bug:
- 1. If you have a patch, please read the `CONTRIBUTING.rst`_ document.
- 2. Otherwise, please post to the `CMake Discourse Forum`_ and ask about
- 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`_.
- .. _`CMake Issue Tracker`: https://gitlab.kitware.com/cmake/cmake/-/issues
- Contributing
- ============
- See `CONTRIBUTING.rst`_ for instructions to contribute.
- .. _`CONTRIBUTING.rst`: CONTRIBUTING.rst
|