diff --git a/Help/manual/cmake-variables.7.rst b/Help/manual/cmake-variables.7.rst index b367ffcd57..200fc18e86 100644 --- a/Help/manual/cmake-variables.7.rst +++ b/Help/manual/cmake-variables.7.rst @@ -323,6 +323,7 @@ Variables that Describe the System .. toctree:: :maxdepth: 1 + /variable/AIX /variable/ANDROID /variable/APPLE /variable/BORLAND @@ -331,6 +332,7 @@ Variables that Describe the System /variable/CMAKE_CL_64 /variable/CMAKE_COMPILER_2005 /variable/CMAKE_HOST_APPLE + /variable/CMAKE_HOST_AIX /variable/CMAKE_HOST_BSD /variable/CMAKE_HOST_EXECUTABLE_SUFFIX /variable/CMAKE_HOST_LINUX diff --git a/Help/release/4.0.rst b/Help/release/4.0.rst index a00d3b7236..9e48ec7dd2 100644 --- a/Help/release/4.0.rst +++ b/Help/release/4.0.rst @@ -41,6 +41,9 @@ Commands Variables --------- +* The :variable:`AIX` and :variable:`CMAKE_HOST_AIX` variables are + now set to true when the target or host system is AIX, respectively. + * Linker flag variables learned to support the ``LINKER:`` prefix: * :variable:`CMAKE_EXE_LINKER_FLAGS` diff --git a/Help/variable/AIX.rst b/Help/variable/AIX.rst new file mode 100644 index 0000000000..b07418df12 --- /dev/null +++ b/Help/variable/AIX.rst @@ -0,0 +1,6 @@ +AIX +--- + +.. versionadded:: 4.0 + +Set to true when the target system is AIX. diff --git a/Help/variable/CMAKE_HOST_AIX.rst b/Help/variable/CMAKE_HOST_AIX.rst new file mode 100644 index 0000000000..8037796da4 --- /dev/null +++ b/Help/variable/CMAKE_HOST_AIX.rst @@ -0,0 +1,6 @@ +CMAKE_HOST_AIX +-------------- + +.. versionadded:: 4.0 + +Set to true when the host system is AIX. diff --git a/Modules/CMakeSystemSpecificInitialize.cmake b/Modules/CMakeSystemSpecificInitialize.cmake index ee8cb860c2..313187795a 100644 --- a/Modules/CMakeSystemSpecificInitialize.cmake +++ b/Modules/CMakeSystemSpecificInitialize.cmake @@ -17,6 +17,7 @@ unset(MSYS) unset(WIN32) unset(BSD) unset(LINUX) +unset(AIX) # The CMAKE_EFFECTIVE_SYSTEM_NAME is used to load compiler and compiler # wrapper configuration files. By default it equals to CMAKE_SYSTEM_NAME diff --git a/Modules/Platform/AIX-Initialize.cmake b/Modules/Platform/AIX-Initialize.cmake index 0b117a7b2f..b42e58e06d 100644 --- a/Modules/Platform/AIX-Initialize.cmake +++ b/Modules/Platform/AIX-Initialize.cmake @@ -1 +1,2 @@ +set(AIX 1) set(UNIX 1) diff --git a/Source/cmStateSnapshot.cxx b/Source/cmStateSnapshot.cxx index 8de9188779..ec84323488 100644 --- a/Source/cmStateSnapshot.cxx +++ b/Source/cmStateSnapshot.cxx @@ -325,6 +325,11 @@ void cmStateSnapshot::SetDefaultDefinitions() this->SetDefinition("CMAKE_HOST_LINUX", "1"); #endif +#if defined(_AIX) + this->SetDefinition("AIX", "1"); + this->SetDefinition("CMAKE_HOST_AIX", "1"); +#endif + this->SetDefinition("CMAKE_MAJOR_VERSION", std::to_string(cmVersion::GetMajorVersion())); this->SetDefinition("CMAKE_MINOR_VERSION",