summaryrefslogtreecommitdiffstats
path: root/Help/policy
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2024-04-03 13:38:36 (GMT)
committerKitware Robot <kwrobot@kitware.com>2024-04-03 13:38:46 (GMT)
commit7fde84352701a80500e5dcafae9cac32f9f5d437 (patch)
tree5e4495e9cc1ffd0c6e30a5b619dc0488dfc5fc17 /Help/policy
parentbf116544b3545188535b2bab4c2dbaf9153041d7 (diff)
parent97464aa9701cc4bebb6d0a44c0201c3476489c3e (diff)
downloadCMake-7fde84352701a80500e5dcafae9cac32f9f5d437.zip
CMake-7fde84352701a80500e5dcafae9cac32f9f5d437.tar.gz
CMake-7fde84352701a80500e5dcafae9cac32f9f5d437.tar.bz2
Merge topic 'enable_language-before-project'
97464aa970 enable_language(): Fail if called before project() Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9396
Diffstat (limited to 'Help/policy')
-rw-r--r--Help/policy/CMP0165.rst26
1 files changed, 26 insertions, 0 deletions
diff --git a/Help/policy/CMP0165.rst b/Help/policy/CMP0165.rst
new file mode 100644
index 0000000..7a79c44
--- /dev/null
+++ b/Help/policy/CMP0165.rst
@@ -0,0 +1,26 @@
+CMP0165
+-------
+
+.. versionadded:: 3.30
+
+:command:`enable_language` must not be called before :command:`project`.
+
+In CMake 3.29 and below, if a project called :command:`enable_language`
+before the first call to :command:`project`, the language would be enabled
+but possibly using unset details that were expected to be set.
+In CMake 3.30 and above, :command:`enable_language` prefers to reject this
+case and stop with a fatal error instead if it detects that :command:`project`
+has not yet been called. This policy provides compatibility for projects that
+happened to work when :command:`enable_language` was called before
+:command:`project` and have not been updated to call these commands in the
+required order.
+
+The ``OLD`` behavior for this policy is to allow :command:`enable_language`
+to be called before :command:`project`. The ``NEW`` behavior for this policy
+is to fail with a fatal error in such cases.
+
+.. |INTRODUCED_IN_CMAKE_VERSION| replace:: 3.30
+.. |WARNS_OR_DOES_NOT_WARN| replace:: warns
+.. include:: STANDARD_ADVICE.txt
+
+.. include:: DEPRECATED.txt