summaryrefslogtreecommitdiffstats
path: root/Modules/CMakeSystemSpecificInitialize.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/CMakeSystemSpecificInitialize.cmake')
-rw-r--r--Modules/CMakeSystemSpecificInitialize.cmake15
1 files changed, 14 insertions, 1 deletions
diff --git a/Modules/CMakeSystemSpecificInitialize.cmake b/Modules/CMakeSystemSpecificInitialize.cmake
index 21bcd40..ee8cb86 100644
--- a/Modules/CMakeSystemSpecificInitialize.cmake
+++ b/Modules/CMakeSystemSpecificInitialize.cmake
@@ -5,6 +5,19 @@
# This file is included by cmGlobalGenerator::EnableLanguage.
# It is included before the compiler has been determined.
+# before cmake 2.6 these variables were set in cmMakefile.cxx. This is still
+# done to keep scripts and custom language and compiler modules working.
+# But they are reset here and set again in the platform files for the target
+# platform, so they can be used for testing the target platform instead
+# of testing the host platform.
+unset(APPLE)
+unset(UNIX)
+unset(CYGWIN)
+unset(MSYS)
+unset(WIN32)
+unset(BSD)
+unset(LINUX)
+
# The CMAKE_EFFECTIVE_SYSTEM_NAME is used to load compiler and compiler
# wrapper configuration files. By default it equals to CMAKE_SYSTEM_NAME
# but could be overridden in the ${CMAKE_SYSTEM_NAME}-Initialize files.
@@ -12,7 +25,7 @@
# It is useful to share the same aforementioned configuration files and
# avoids duplicating them in case of tightly related platforms.
#
-# An example are the platforms supported by Xcode (macOS, iOS, tvOS,
+# An example are the platforms supported by Xcode (macOS, iOS, tvOS, visionOS
# and watchOS). For all of those the CMAKE_EFFECTIVE_SYSTEM_NAME is
# set to Apple which results in using
# Platform/Apple-AppleClang-CXX.cmake for the Apple C++ compiler.