diff --git a/Help/command/cmake_minimum_required.rst b/Help/command/cmake_minimum_required.rst index dc65a9e68..9535bf34f 100644 --- a/Help/command/cmake_minimum_required.rst +++ b/Help/command/cmake_minimum_required.rst @@ -1,29 +1,14 @@ cmake_minimum_required ---------------------- -Set the minimum required version of cmake for a project. - -:: +Set the minimum required version of cmake for a project and +update `Policy Settings`_ to match the version given:: cmake_minimum_required(VERSION major.minor[.patch[.tweak]] [FATAL_ERROR]) If the current version of CMake is lower than that required it will -stop processing the project and report an error. When a version -higher than 2.4 is specified the command implicitly invokes - -:: - - cmake_policy(VERSION major[.minor[.patch[.tweak]]]) - -which sets the cmake policy version level to the version specified. -When version 2.4 or lower is given the command implicitly invokes - -:: - - cmake_policy(VERSION 2.4) - -which enables compatibility features for CMake 2.4 and lower. +stop processing the project and report an error. The ``FATAL_ERROR`` option is accepted but ignored by CMake 2.6 and higher. It should be specified so CMake versions 2.4 and lower fail @@ -39,3 +24,27 @@ with an error instead of just a warning. Calling ``cmake_minimum_required()`` inside a :command:`function` limits some effects to the function scope when invoked. Such calls should not be made with the intention of having global effects. + +Policy Settings +^^^^^^^^^^^^^^^ + +The ``cmake_minimum_required(VERSION)`` command implicitly invokes the +:command:`cmake_policy(VERSION)` command to specify that the current +project code is written for the given version of CMake. +All policies introduced in the specified version or earlier will be +set to use NEW behavior. All policies introduced after the specified +version will be unset. This effectively requests behavior preferred +as of a given CMake version and tells newer CMake versions to warn +about their new policies. + +When a version higher than 2.4 is specified the command implicitly +invokes:: + + cmake_policy(VERSION major[.minor[.patch[.tweak]]]) + +which sets the cmake policy version level to the version specified. +When version 2.4 or lower is given the command implicitly invokes:: + + cmake_policy(VERSION 2.4) + +which enables compatibility features for CMake 2.4 and lower.