diff options
author | Brad King <brad.king@kitware.com> | 2017-08-21 12:46:51 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2017-08-21 12:48:24 (GMT) |
commit | c1f3eb9f2d628b2911aa17f65012fab0befc4b87 (patch) | |
tree | b5949a7285295a8ae4faa53acaf583221d6edf21 /Help | |
parent | a1b84ac2a6eec367a8a56f4a0f811e78f5d60fab (diff) | |
parent | fd4fd9a276126a1b1044d57a064c3b8201a91a33 (diff) | |
download | CMake-c1f3eb9f2d628b2911aa17f65012fab0befc4b87.zip CMake-c1f3eb9f2d628b2911aa17f65012fab0befc4b87.tar.gz CMake-c1f3eb9f2d628b2911aa17f65012fab0befc4b87.tar.bz2 |
Merge topic 'require-c++11'
fd4fd9a2 Require C++11 to build CMake itself
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1132
Diffstat (limited to 'Help')
-rw-r--r-- | Help/dev/source.rst | 16 | ||||
-rw-r--r-- | Help/release/dev/require-c++11.rst | 5 |
2 files changed, 12 insertions, 9 deletions
diff --git a/Help/dev/source.rst b/Help/dev/source.rst index 16a9252..b40a884 100644 --- a/Help/dev/source.rst +++ b/Help/dev/source.rst @@ -23,20 +23,18 @@ format only a subset of files, such as those that are locally modified. C++ Subset Permitted ==================== -CMake supports compiling as C++98 in addition to C++11 and C++14. -In order to support building on older toolchains some constructs -need to be handled with care: +CMake requires compiling as C++11 or above. However, in order to support +building on older toolchains some constructs need to be handled with care: -* Use ``CM_AUTO_PTR`` instead of ``std::auto_ptr``. +* Do not use ``CM_AUTO_PTR`` or ``std::auto_ptr``. - The ``std::auto_ptr`` template is deprecated in C++11. We want to use it - so we can build on C++98 compilers but we do not want to turn off compiler - warnings about deprecated interfaces in general. Use the ``CM_AUTO_PTR`` - macro instead. + The ``std::auto_ptr`` template is deprecated in C++11. The ``CM_AUTO_PTR`` + macro remains leftover from C++98 support until its uses can be ported to + ``std::unique_ptr``. Do not add new uses of the macro. * Use ``CM_EQ_DELETE;`` instead of ``= delete;``. - Defining functions as *deleted* is not supported in C++98. Using + Older C++11 compilers do not support deleting functions. Using ``CM_EQ_DELETE`` will delete the functions if the compiler supports it and give them no implementation otherwise. Calling such a function will lead to compiler errors if the compiler supports *deleted* functions and linker diff --git a/Help/release/dev/require-c++11.rst b/Help/release/dev/require-c++11.rst new file mode 100644 index 0000000..7b849e7 --- /dev/null +++ b/Help/release/dev/require-c++11.rst @@ -0,0 +1,5 @@ +require-c++11 +------------- + +* Support for building CMake itself with C++98 compilers was dropped. + CMake is now implemented using C++11. |