1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-14 02:08:27 +08:00

Set CMAKE_<LANG>_COMPILER_FRONTEND_VARIANT on single-variant compilers

The `GNU` and `MSVC` compilers obviously use their own front-end
command-line style.  Also set this for `AppleClang`.

Fixes: #24232
This commit is contained in:
Russell Greene
2022-12-19 18:12:01 -07:00
committed by Brad King
parent 555a892a69
commit e4fcdfa301
3 changed files with 15 additions and 1 deletions

View File

@@ -0,0 +1,6 @@
frontend-variant-always
-----------------------
* The :variable:`CMAKE_<LANG>_COMPILER_FRONTEND_VARIANT` variable is now
set for ``GNU``, ``MSVC``, and ``AppleClang`` compilers that have only
one frontend variant.

View File

@@ -16,3 +16,7 @@ the compiler whose frontend it resembles.
.. note::
In other words, this variable describes what command line options
and language extensions the compiler frontend expects.
.. versionchanged:: 3.26
This variable is set for ``GNU``, ``MSVC``, and ``AppleClang``
compilers that have only one frontend variant.

View File

@@ -243,8 +243,12 @@ function(CMAKE_DETERMINE_COMPILER_ID lang flagvar src)
else()
set(CMAKE_${lang}_COMPILER_FRONTEND_VARIANT "GNU")
endif()
elseif("x${CMAKE_${lang}_COMPILER_ID}" STREQUAL "xFujitsuClang")
elseif("x${CMAKE_${lang}_COMPILER_ID}" STREQUAL "xGNU"
OR "x${CMAKE_${lang}_COMPILER_ID}" STREQUAL "xAppleClang"
OR "x${CMAKE_${lang}_COMPILER_ID}" STREQUAL "xFujitsuClang")
set(CMAKE_${lang}_COMPILER_FRONTEND_VARIANT "GNU")
elseif("x${CMAKE_${lang}_COMPILER_ID}" STREQUAL "xMSVC")
set(CMAKE_${lang}_COMPILER_FRONTEND_VARIANT "MSVC")
else()
set(CMAKE_${lang}_COMPILER_FRONTEND_VARIANT "")
endif()