summaryrefslogtreecommitdiffstats
path: root/Help
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2016-06-30 13:47:41 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2016-06-30 13:47:41 (GMT)
commitb1883bc8b7bd4211037bcc181edffdcce646f43a (patch)
treefc1a74cfdab6953ad268517dbfe32040e5d04896 /Help
parent2bef3774276e0b27718107edccd5e107fd72b292 (diff)
parentd582c23a47ceef09e80435d6b986e3938f7f1521 (diff)
downloadCMake-b1883bc8b7bd4211037bcc181edffdcce646f43a.zip
CMake-b1883bc8b7bd4211037bcc181edffdcce646f43a.tar.gz
CMake-b1883bc8b7bd4211037bcc181edffdcce646f43a.tar.bz2
Merge topic 'try_compile-config-flags'
d582c23a try_compile: Add policy CMP0066 to honor CMAKE_<LANG>_FLAGS_<CONFIG>
Diffstat (limited to 'Help')
-rw-r--r--Help/manual/cmake-policies.7.rst8
-rw-r--r--Help/policy/CMP0066.rst27
-rw-r--r--Help/release/dev/try_compile-config-flags.rst7
-rw-r--r--Help/variable/CMAKE_POLICY_WARNING_CMPNNNN.rst2
4 files changed, 44 insertions, 0 deletions
diff --git a/Help/manual/cmake-policies.7.rst b/Help/manual/cmake-policies.7.rst
index 43f4637..0cfe983 100644
--- a/Help/manual/cmake-policies.7.rst
+++ b/Help/manual/cmake-policies.7.rst
@@ -51,6 +51,14 @@ The :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` variable may also be used
to determine whether to report an error on use of deprecated macros or
functions.
+Policies Introduced by CMake 3.7
+================================
+
+.. toctree::
+ :maxdepth: 1
+
+ CMP0066: Honor per-config flags in try_compile() source-file signature. </policy/CMP0066>
+
Policies Introduced by CMake 3.4
================================
diff --git a/Help/policy/CMP0066.rst b/Help/policy/CMP0066.rst
new file mode 100644
index 0000000..d1dcb0e
--- /dev/null
+++ b/Help/policy/CMP0066.rst
@@ -0,0 +1,27 @@
+CMP0066
+-------
+
+Honor per-config flags in :command:`try_compile` source-file signature.
+
+The source file signature of the :command:`try_compile` command uses the value
+of the :variable:`CMAKE_<LANG>_FLAGS` variable in the test project so that the
+test compilation works as it would in the main project. However, CMake 3.6 and
+below do not also honor config-specific compiler flags such as those in the
+:variable:`CMAKE_<LANG>_FLAGS_DEBUG` variable. CMake 3.7 and above prefer to
+honor config-specific compiler flags too. This policy provides compatibility
+for projects that do not expect config-specific compiler flags to be used.
+
+The ``OLD`` behavior of this policy is to ignore config-specific flag
+variables like :variable:`CMAKE_<LANG>_FLAGS_DEBUG` and only use CMake's
+built-in defaults for the current compiler and platform.
+
+The ``NEW`` behavior of this policy is to honor config-specific flag
+variabldes like :variable:`CMAKE_<LANG>_FLAGS_DEBUG`.
+
+This policy was introduced in CMake version 3.7. 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_CMP0066 <CMAKE_POLICY_WARNING_CMP<NNNN>>`
+variable to control the warning.
+
+.. include:: DEPRECATED.txt
diff --git a/Help/release/dev/try_compile-config-flags.rst b/Help/release/dev/try_compile-config-flags.rst
new file mode 100644
index 0000000..ebfd6a4
--- /dev/null
+++ b/Help/release/dev/try_compile-config-flags.rst
@@ -0,0 +1,7 @@
+try_compile-config-flags
+------------------------
+
+* The :command:`try_compile` command source file signature now honors
+ configuration-specific flags (e.g. :variable:`CMAKE_<LANG>_FLAGS_DEBUG`)
+ in the generated test project. Previously only the default such flags
+ for the current toolchain were used. See policy :policy:`CMP0066`.
diff --git a/Help/variable/CMAKE_POLICY_WARNING_CMPNNNN.rst b/Help/variable/CMAKE_POLICY_WARNING_CMPNNNN.rst
index 582f9e4..36cf75f 100644
--- a/Help/variable/CMAKE_POLICY_WARNING_CMPNNNN.rst
+++ b/Help/variable/CMAKE_POLICY_WARNING_CMPNNNN.rst
@@ -15,6 +15,8 @@ warn by default:
policy :policy:`CMP0060`.
* ``CMAKE_POLICY_WARNING_CMP0065`` controls the warning for
policy :policy:`CMP0065`.
+* ``CMAKE_POLICY_WARNING_CMP0066`` controls the warning for
+ policy :policy:`CMP0066`.
This variable should not be set by a project in CMake code. Project
developers running CMake may set this variable in their cache to