Merge topic 'cmake-host-executable-suffix'

5d2b89d5fa Add CMAKE_HOST_EXECUTABLE_SUFFIX for Unix/Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: shiz01 <shiz01@tutanota.com>
Merge-request: !9863
This commit is contained in:
Brad King 2024-10-03 12:07:27 +00:00 committed by Kitware Robot
commit e78ae03893
5 changed files with 25 additions and 1 deletions

View File

@ -323,6 +323,7 @@ Variables that Describe the System
/variable/CMAKE_COMPILER_2005
/variable/CMAKE_HOST_APPLE
/variable/CMAKE_HOST_BSD
/variable/CMAKE_HOST_EXECUTABLE_SUFFIX
/variable/CMAKE_HOST_LINUX
/variable/CMAKE_HOST_SOLARIS
/variable/CMAKE_HOST_SYSTEM

View File

@ -0,0 +1,5 @@
cmake-host-executable-suffix
----------------------------
* The :variable:`CMAKE_HOST_EXECUTABLE_SUFFIX` variable was added to
provide suffix for executable names on the host platform.

View File

@ -1,10 +1,14 @@
CMAKE_EXECUTABLE_SUFFIX
-----------------------
The suffix for executables on this platform.
The suffix for executables on the target platform.
The suffix to use for the end of an executable filename if any, ``.exe``
on Windows.
:variable:`CMAKE_EXECUTABLE_SUFFIX_<LANG>` overrides this for
language ``<LANG>``.
See the :variable:`CMAKE_HOST_EXECUTABLE_SUFFIX` variable for the
executable suffix on the host platform.

View File

@ -0,0 +1,12 @@
CMAKE_HOST_EXECUTABLE_SUFFIX
----------------------------
.. versionadded:: 3.31
The suffix for executables on the host platform. This may differ from
the suffix for the target platform, :variable:`CMAKE_EXECUTABLE_SUFFIX`.
The suffix to use for the end of an executable filename if any, ``.exe``
on Windows.
See also :variable:`CMAKE_EXECUTABLE_SUFFIX`.

View File

@ -298,9 +298,11 @@ void cmStateSnapshot::SetDefaultDefinitions()
if (hostSystemName == "Windows") {
this->SetDefinition("WIN32", "1");
this->SetDefinition("CMAKE_HOST_WIN32", "1");
this->SetDefinition("CMAKE_HOST_EXECUTABLE_SUFFIX", ".exe");
} else {
this->SetDefinition("UNIX", "1");
this->SetDefinition("CMAKE_HOST_UNIX", "1");
this->SetDefinition("CMAKE_HOST_EXECUTABLE_SUFFIX", "");
}
#if defined(__APPLE__)
this->SetDefinition("APPLE", "1");