diff options
author | Brad King <brad.king@kitware.com> | 2020-11-19 20:19:36 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2020-11-19 22:06:03 (GMT) |
commit | 30aa715fac06deba7eaa3e6167cf34eb4d2521d0 (patch) | |
tree | 6c9b7ef3a46c7473dcf04ddb1fea147e8009319c /Help | |
parent | 1d1d78bbe1ed7113927fd0dd078741de3c722b14 (diff) | |
download | CMake-30aa715fac06deba7eaa3e6167cf34eb4d2521d0.zip CMake-30aa715fac06deba7eaa3e6167cf34eb4d2521d0.tar.gz CMake-30aa715fac06deba7eaa3e6167cf34eb4d2521d0.tar.bz2 |
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.rst | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Help/release/3.19.rst b/Help/release/3.19.rst index be63e9d..961d6c0 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. |