diff options
author | Brad King <brad.king@kitware.com> | 2016-12-07 14:22:22 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2016-12-07 14:22:22 (GMT) |
commit | a0d64ecf8b9eac29cbfeb7461cf3bcb1688f7aa7 (patch) | |
tree | 99011b6e805e6032e1679d0fa98ecd5f8e846458 /Help/policy/CMP0067.rst | |
parent | 0478314e13e6d04a0100cc3be4ab84540a8beaa5 (diff) | |
parent | f72ba42b7c643b1b217d1b8f6684cec3289e7201 (diff) | |
download | CMake-a0d64ecf8b9eac29cbfeb7461cf3bcb1688f7aa7.zip CMake-a0d64ecf8b9eac29cbfeb7461cf3bcb1688f7aa7.tar.gz CMake-a0d64ecf8b9eac29cbfeb7461cf3bcb1688f7aa7.tar.bz2 |
Merge topic 'try_compile-lang-std'
f72ba42b try_compile: Add policy CMP0067 to honor language standards
45aa03b9 try_compile: Add options to specify language standards
3bb2051e try_compile: Stop processing when test build system fails to generate
Diffstat (limited to 'Help/policy/CMP0067.rst')
-rw-r--r-- | Help/policy/CMP0067.rst | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Help/policy/CMP0067.rst b/Help/policy/CMP0067.rst new file mode 100644 index 0000000..d52ba7f --- /dev/null +++ b/Help/policy/CMP0067.rst @@ -0,0 +1,34 @@ +CMP0067 +------- + +Honor language standard in :command:`try_compile` source-file signature. + +The :command:`try_compile` source file signature is intended to allow +callers to check whether they will be able to compile a given source file +with the current toolchain. In order to match compiler behavior, any +language standard mode should match. However, CMake 3.7 and below did not +do this. CMake 3.8 and above prefer to honor the language standard settings +for ``C`` and ``CXX`` (C++) using the values of the variables: + +* :variable:`CMAKE_C_STANDARD` +* :variable:`CMAKE_C_STANDARD_REQUIRED` +* :variable:`CMAKE_C_EXTENSIONS` +* :variable:`CMAKE_CXX_STANDARD` +* :variable:`CMAKE_CXX_STANDARD_REQUIRED` +* :variable:`CMAKE_CXX_EXTENSIONS` + +This policy provides compatibility for projects that do not expect +the language standard settings to be used automatically. + +The ``OLD`` behavior of this policy is to ignore language standard +setting variables when generating the ``try_compile`` test project. +The ``NEW`` behavior of this policy is to honor language standard +setting variables. + +This policy was introduced in CMake version 3.8. Unlike most policies, +CMake version |release| does *not* warn by default when this policy +is not set and simply uses OLD behavior. See documentation of the +:variable:`CMAKE_POLICY_WARNING_CMP0067 <CMAKE_POLICY_WARNING_CMP<NNNN>>` +variable to control the warning. + +.. include:: DEPRECATED.txt |