LINUX: Set CMAKE_HOST_LINUX variable when running on a Linux host

Relates: #23840
This commit is contained in:
Cristian Adam
2022-09-09 20:10:43 +02:00
parent 12de4ea2e8
commit caffb15d09
5 changed files with 15 additions and 0 deletions

View File

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

View File

@@ -2,3 +2,5 @@ Variables
---------
* The :variable:`LINUX` variable is set to true when the target system is Linux.
* The :variable:`CMAKE_HOST_LINUX` variable is set to true when the host system is Linux.

View File

@@ -0,0 +1,6 @@
CMAKE_HOST_LINUX
----------------
.. versionadded:: 3.25
Set to true when the host system is Linux.

View File

@@ -17,6 +17,7 @@ set(CYGWIN )
set(MSYS )
set(WIN32 )
set(BSD )
set(LINUX )
function(_cmake_record_install_prefix )
set(_CMAKE_SYSTEM_PREFIX_PATH_INSTALL_PREFIX_VALUE "${CMAKE_INSTALL_PREFIX}" PARENT_SCOPE)

View File

@@ -331,6 +331,11 @@ void cmStateSnapshot::SetDefaultDefinitions()
this->SetDefinition("CMAKE_HOST_BSD", "DragonFlyBSD");
#endif
#if defined(__linux__)
this->SetDefinition("LINUX", "1");
this->SetDefinition("CMAKE_HOST_LINUX", "1");
#endif
this->SetDefinition("CMAKE_MAJOR_VERSION",
std::to_string(cmVersion::GetMajorVersion()));
this->SetDefinition("CMAKE_MINOR_VERSION",