From 6ac3712da0f1e90884a27d9c03974260f42d04f7 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 29 Apr 2015 08:42:10 -0400 Subject: [PATCH] Help: Document that cmake_minimum_required should be called first Many projects put their project() call first, but the actions taken by this command can be influenced by policies and other information set by a call to cmake_minimum_required. Document in each of these two commands that cmake_minimum_required should be called first. Suggested-by: Alan W. Irwin --- Help/command/cmake_minimum_required.rst | 7 +++++++ Help/command/project.rst | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/Help/command/cmake_minimum_required.rst b/Help/command/cmake_minimum_required.rst index 1bdffa46e..92e3001de 100644 --- a/Help/command/cmake_minimum_required.rst +++ b/Help/command/cmake_minimum_required.rst @@ -28,3 +28,10 @@ which enables compatibility features for CMake 2.4 and lower. 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 with an error instead of just a warning. + +.. note:: + Call the ``cmake_minimum_required()`` command at the beginning of + the top-level ``CMakeLists.txt`` file even before calling the + :command:`project` command. It is important to establish version + and policy settings before invoking other commands whose behavior + they may affect. See also policy :policy:`CMP0000`. diff --git a/Help/command/project.rst b/Help/command/project.rst index c601a0109..6c5ace7f1 100644 --- a/Help/command/project.rst +++ b/Help/command/project.rst @@ -55,3 +55,10 @@ literal, direct call to the :command:`project` command; loading one through the :command:`include` command is not sufficient. If no such call exists CMake will implicitly add one to the top that enables the default languages (``C`` and ``CXX``). + +.. note:: + Call the :command:`cmake_minimum_required` command at the beginning + of the top-level ``CMakeLists.txt`` file even before calling the + ``project()`` command. It is important to establish version and + policy settings before invoking other commands whose behavior they + may affect. See also policy :policy:`CMP0000`.