descriptionCMake is an open-source, cross-platform family of tools designed to build, test and package software
homepage URLhttps://cmake.org/
repository URLhttps://gitlab.kitware.com/cmake/cmake.git
ownerstefan.naewe+rr@gmail.com
last changeSat, 8 Jun 2024 04:01:21 +0000 (8 00:01 -0400)
last refreshSat, 8 Jun 2024 05:31:20 +0000 (8 07:31 +0200)
content tags
add:
README.rst
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 `Copyright.txt`_ for details.

.. _`Copyright.txt`: Copyright.txt

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
shortlog
2 hours ago Kitware RobotCMake Nightly Date Stampmaster
26 hours ago Kitware RobotCMake Nightly Date Stamp
40 hours ago Brad KingMerge branch 'release-3.30'
40 hours ago Brad KingCMake 3.30.0-rc1releasev3.30.0-rc1
40 hours ago Brad KingMerge branch 'release-3.30'
40 hours ago Brad KingMerge topic 'doc-preset-specific-macros'
40 hours ago Brad KingMerge topic 'doc-preset-specific-macros' into release...
41 hours ago Brad KingMerge branch 'release-3.30'
41 hours ago Brad KingMerge branch 'release-3.29'
41 hours ago Brad KingMerge branch 'release-3.29' into release-3.30
41 hours ago Brad KingCMake 3.29.5v3.29.5
41 hours ago Cristian LeHelp: Clarify preset-specific macros
41 hours ago Brad KingMerge topic 'doc-testing'
41 hours ago Brad KingMerge branch 'release-3.30'
41 hours ago Brad KingMerge topic 'bash-completion'
41 hours ago Brad KingMerge topic 'bash-completion' into release-3.30
...
tags
40 hours ago v3.30.0-rc1 CMake 3.30.0-rc1
41 hours ago v3.29.5 CMake 3.29.5
4 days ago v3.29.4 CMake 3.29.4
4 days ago v3.28.6 CMake 3.28.6
4 weeks ago v3.29.3 CMake 3.29.3
4 weeks ago v3.28.5 CMake 3.28.5
8 weeks ago v3.29.2 CMake 3.29.2
2 months ago v3.29.1 CMake 3.29.1
2 months ago v3.29.0 CMake 3.29.0
2 months ago v3.28.4 CMake 3.28.4
2 months ago v3.29.0-rc4 CMake 3.29.0-rc4
3 months ago v3.29.0-rc3 CMake 3.29.0-rc3
3 months ago v3.29.0-rc2 CMake 3.29.0-rc2
3 months ago v3.29.0-rc1 CMake 3.29.0-rc1
4 months ago v3.28.3 CMake 3.28.3
4 months ago v3.28.2 CMake 3.28.2
...
heads
2 hours ago master
40 hours ago release