summaryrefslogtreecommitdiff
path: root/Modules/Compiler
diff options
context:
space:
mode:
authorJoakim Lönnberg <joakim.lonnberg@iar.com>2023-02-21 10:15:14 +0100
committerBrad King <brad.king@kitware.com>2023-02-21 09:24:14 -0500
commit3b365c461fc2536f731435832f8a3f05b2c64854 (patch)
tree80513456a6e273c5e116bd56d8af2caf180238c5 /Modules/Compiler
parent053fa2fef85ec6d8b46837230cabf9612a667773 (diff)
downloadcmake-3b365c461fc2536f731435832f8a3f05b2c64854.tar.gz
IAR: Tolerate variables named for languages
If a project or user sets a variable or cache entry named `C` or `CXX`, we were previously comparing those language names to the value of that variable, rather than the name itself. Double-quote the string to take advantage of policy `CMP0054`, but also add "x" prefixes to support projects that do not set the policy. This extends a similar fix from commit c8eb357738 (CompilerId: Tolerate variables named for languages, 2021-06-17, v3.21.0-rc1~9^2).
Diffstat (limited to 'Modules/Compiler')
-rw-r--r--Modules/Compiler/IAR.cmake2
1 files changed, 1 insertions, 1 deletions
diff --git a/Modules/Compiler/IAR.cmake b/Modules/Compiler/IAR.cmake
index 7908f962fd..e75df59c6e 100644
--- a/Modules/Compiler/IAR.cmake
+++ b/Modules/Compiler/IAR.cmake
@@ -9,7 +9,7 @@
include_guard()
macro(__compiler_iar_common lang)
- if (${lang} MATCHES "^(C|CXX)$")
+ if ("x${lang}" MATCHES "^x(C|CXX)$")
set(CMAKE_${lang}_COMPILE_OBJECT "<CMAKE_${lang}_COMPILER> ${CMAKE_IAR_${lang}_FLAG} --silent <SOURCE> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT>")
set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE "<CMAKE_${lang}_COMPILER> ${CMAKE_IAR_${lang}_FLAG} --silent <SOURCE> <DEFINES> <INCLUDES> <FLAGS> --preprocess=cnl <PREPROCESSED_SOURCE>")
set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE "<CMAKE_${lang}_COMPILER> ${CMAKE_IAR_${lang}_FLAG} --silent <SOURCE> <DEFINES> <INCLUDES> <FLAGS> -lAH <ASSEMBLY_SOURCE> -o <OBJECT>.dummy")