Honor language standard in
try_compile() source-file signature.
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
CXX (C++), and
CUDA using the values of the variables:
This policy provides compatibility for projects that do not expect the language standard settings to be used automatically.
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 3.9.6 does not warn by default when this policy is not set and simply uses OLD behavior. See documentation of the
CMAKE_POLICY_WARNING_CMP0067 variable to control the warning.
OLD behavior of a policy is
deprecated by definition and may be removed in a future version of CMake.
© 2000–2017 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.