3.0.rst
3.0.rst
0 Release Notes
***********************
.. only:: html
.. contents::
Documentation Changes
=====================
- :manual:`cmake-buildsystem(7)`
- :manual:`cmake-commands(7)`, replacing ``cmakecommands(1)``
and ``cmakecompat(1)``
- :manual:`cmake-developer(7)`
- :manual:`cmake-generator-expressions(7)`
- :manual:`cmake-generators(7)`
- :manual:`cmake-language(7)`
- :manual:`cmake-modules(7)`, replacing ``cmakemodules(1)``
- :manual:`cmake-packages(7)`
- :manual:`cmake-policies(7)`, replacing ``cmakepolicies(1)``
- :manual:`cmake-properties(7)`, replacing ``cmakeprops(1)``
- :manual:`cmake-qt(7)`
- :manual:`cmake-toolchains(7)`
- :manual:`cmake-variables(7)`, replacing ``cmakevars(1)``
* Release notes for CMake 3.0.0 and above will now be included with
the html documentation.
New Features
============
Syntax
------
Generators
----------
Commands
--------
Variables
---------
Properties
----------
Modules
-------
* The :module:`FindRuby` module learned to search for Ruby 2.0 and 2.1.
Generator Expressions
---------------------
* The ``$<CONFIG>``
:manual:`generator expression <cmake-generator-expressions(7)>` now has
a variant which takes no argument. This is equivalent to the
``$<CONFIGURATION>`` expression.
* A new ``$<MAKE_C_IDENTIFIER:...>``
:manual:`generator expression <cmake-generator-expressions(7)>` has
been added.
Other
-----
New Diagnostics
===============
* Build target names must now match a validity pattern and may no longer
conflict with CMake-defined targets. See policy :policy:`CMP0037`.
* Build targets that specify themselves as a link dependency were
silently accepted but are now diagnosed. See :policy:`CMP0038`.
Other Changes
=============
* The version scheme was changed to use only two components for
the feature level instead of three. The third component will
now be used for bug-fix releases or the date of development versions.
See the :variable:`CMAKE_VERSION` variable documentation for details.