summaryrefslogtreecommitdiff
path: root/Help
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-11-19 15:19:36 -0500
committerBrad King <brad.king@kitware.com>2020-11-19 17:06:03 -0500
commit30aa715fac06deba7eaa3e6167cf34eb4d2521d0 (patch)
tree6c9b7ef3a46c7473dcf04ddb1fea147e8009319c /Help
parent1d1d78bbe1ed7113927fd0dd078741de3c722b14 (diff)
downloadcmake-30aa715fac06deba7eaa3e6167cf34eb4d2521d0.tar.gz
Revert "specify language flag when source LANGUAGE property is set"
Revert commit 74b1c9fc8e (Explicitly specify language flag when source LANGUAGE property is set, 2020-06-01, v3.19.0-rc1~722^2) and the lookup tables from its two immediate ancestors. The purpose of that change was to convert an explicit `LANGUAGE` source file property into an explicit language specification compiler flag like `-x c`. This seems reasonable since the property is documented as meaning "indicate what programming language the source file is". It is also needed to help compilers deal with non-standard source file extensions they don't recognize. However, some projects have been setting `LANGUAGE C` on `.S` assembler source files to mean "use the C compiler". Passing `-x c` for them breaks the build because the `.S` sources are not written in C. These projects should be updated to use `enable_language(ASM)`, for which CMake often chooses the C compiler as the assembler when using toolchains that support it (which would have to be the case for projects using the approach). Revert the change for now to preserve the old behavior for such projects. We can re-introduce it with a policy in a future version of CMake. Fixes: #21469 Issue: #14516, #20716
Diffstat (limited to 'Help')
-rw-r--r--Help/release/3.19.rst16
1 files changed, 16 insertions, 0 deletions
diff --git a/Help/release/3.19.rst b/Help/release/3.19.rst
index be63e9db79..961d6c059b 100644
--- a/Help/release/3.19.rst
+++ b/Help/release/3.19.rst
@@ -330,3 +330,19 @@ Other Changes
* If ``CUDA`` compiler detection fails with user-specified
:variable:`CMAKE_CUDA_ARCHITECTURES` or
:variable:`CMAKE_CUDA_HOST_COMPILER`, an error is raised.
+
+Updates
+=======
+
+Changes made since CMake 3.19.0 include the following.
+
+3.19.1
+------
+
+* CMake 3.19.0 compiles source files with the :prop_sf:`LANGUAGE`
+ property by passing an explicit language flag such as ``-x c``.
+ This is consistent with the property's documented meaning that
+ the source file is written in the specified language. However,
+ it can break projects that were using the property only to
+ cause the specified language's compiler to be used. This has
+ been reverted to restore behavior from CMake 3.18 and below.