From 05a3bafe650ae7f567c50abbdf626fca9ac2b3df Mon Sep 17 00:00:00 2001 From: Lorenzo Cappelletti Date: Mon, 19 Jul 2021 10:29:48 +0200 Subject: Compiler/IAR: Avoid clobbering CMAKE_EXECUTABLE_SUFFIX Use `CMAKE_EXECUTABLE_SUFFIX_` instead. Fixes: #22426 --- Modules/Compiler/IAR.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Modules/Compiler/IAR.cmake b/Modules/Compiler/IAR.cmake index 8bfc3ef..a6b436a 100644 --- a/Modules/Compiler/IAR.cmake +++ b/Modules/Compiler/IAR.cmake @@ -41,7 +41,7 @@ include_guard() macro(__compiler_iar_ilink lang) - set(CMAKE_EXECUTABLE_SUFFIX ".elf") + set(CMAKE_EXECUTABLE_SUFFIX_${lang} ".elf") set(CMAKE_${lang}_OUTPUT_EXTENSION ".o") if (${lang} STREQUAL "C" OR ${lang} STREQUAL "CXX") set(CMAKE_${lang}_COMPILE_OBJECT " ${CMAKE_IAR_${lang}_FLAG} --silent -o ") @@ -77,7 +77,7 @@ macro(__compiler_iar_ilink lang) endmacro() macro(__compiler_iar_xlink lang) - set(CMAKE_EXECUTABLE_SUFFIX ".bin") + set(CMAKE_EXECUTABLE_SUFFIX_${lang} ".bin") if (${lang} STREQUAL "C" OR ${lang} STREQUAL "CXX") set(CMAKE_${lang}_COMPILE_OBJECT " ${CMAKE_IAR_${lang}_FLAG} --silent -o ") -- cgit v0.12 From 09bc0785eeae95e23f9ac5c2e945fa89cb994912 Mon Sep 17 00:00:00 2001 From: Lorenzo Cappelletti Date: Mon, 19 Jul 2021 10:31:41 +0200 Subject: Help: Document CMAKE_EXECUTABLE_SUFFIX_ explicitly Documentation for `CMAKE_EXECUTABLE_SUFFIX_`, useful when cross-compiling, is buried in section `CMAKE_EXECUTABLE_SUFFIX`. --- Help/manual/cmake-variables.7.rst | 1 + Help/variable/CMAKE_EXECUTABLE_SUFFIX.rst | 3 ++- Help/variable/CMAKE_EXECUTABLE_SUFFIX_LANG.rst | 7 +++++++ 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 Help/variable/CMAKE_EXECUTABLE_SUFFIX_LANG.rst diff --git a/Help/manual/cmake-variables.7.rst b/Help/manual/cmake-variables.7.rst index 39fbbed..9cea0fb 100644 --- a/Help/manual/cmake-variables.7.rst +++ b/Help/manual/cmake-variables.7.rst @@ -53,6 +53,7 @@ Variables that Provide Information /variable/CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION /variable/CMAKE_EDIT_COMMAND /variable/CMAKE_EXECUTABLE_SUFFIX + /variable/CMAKE_EXECUTABLE_SUFFIX_LANG /variable/CMAKE_EXTRA_GENERATOR /variable/CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES /variable/CMAKE_FIND_DEBUG_MODE diff --git a/Help/variable/CMAKE_EXECUTABLE_SUFFIX.rst b/Help/variable/CMAKE_EXECUTABLE_SUFFIX.rst index 356590f..bc4b9df 100644 --- a/Help/variable/CMAKE_EXECUTABLE_SUFFIX.rst +++ b/Help/variable/CMAKE_EXECUTABLE_SUFFIX.rst @@ -6,4 +6,5 @@ The suffix for executables on this platform. The suffix to use for the end of an executable filename if any, ``.exe`` on Windows. -``CMAKE_EXECUTABLE_SUFFIX_`` overrides this for language ````. +:variable:`CMAKE_EXECUTABLE_SUFFIX_` overrides this for +language ````. diff --git a/Help/variable/CMAKE_EXECUTABLE_SUFFIX_LANG.rst b/Help/variable/CMAKE_EXECUTABLE_SUFFIX_LANG.rst new file mode 100644 index 0000000..a68150e --- /dev/null +++ b/Help/variable/CMAKE_EXECUTABLE_SUFFIX_LANG.rst @@ -0,0 +1,7 @@ +CMAKE_EXECUTABLE_SUFFIX_ +------------------------------ + +The suffix to use for the end of an executable filename of ```` +compiler target architecture, if any. + +It overrides :variable:`CMAKE_EXECUTABLE_SUFFIX` for language ````. -- cgit v0.12