summaryrefslogtreecommitdiffstats
path: root/Modules/CMakeSystemSpecificInitialize.cmake
diff options
context:
space:
mode:
authorGregor Jasny <gjasny@googlemail.com>2018-04-01 20:49:59 (GMT)
committerBrad King <brad.king@kitware.com>2018-04-18 11:41:42 (GMT)
commite95b3fd9bbca94cb5f217847031c9c8f393aee78 (patch)
tree792206201111cbb237a9888fd97f9d42b31c9913 /Modules/CMakeSystemSpecificInitialize.cmake
parent84f9f63fccdadb9b8a0bdb3260a0c7a3f71cb251 (diff)
downloadCMake-e95b3fd9bbca94cb5f217847031c9c8f393aee78.zip
CMake-e95b3fd9bbca94cb5f217847031c9c8f393aee78.tar.gz
CMake-e95b3fd9bbca94cb5f217847031c9c8f393aee78.tar.bz2
Apple: Use CMAKE_EFFECTIVE_SYSTEM_NAME to share compiler info
Apple platforms macOS, iOS, tvOS, and watchOS can all share the same compiler information. Rename `Darwin-*` modules to `Apple-*` and load them all through `CMAKE_EFFECTIVE_SYSTEM_NAME`. This saves duplication of 4 * 21 compiler information modules. Issue: #17870
Diffstat (limited to 'Modules/CMakeSystemSpecificInitialize.cmake')
-rw-r--r--Modules/CMakeSystemSpecificInitialize.cmake5
1 files changed, 5 insertions, 0 deletions
diff --git a/Modules/CMakeSystemSpecificInitialize.cmake b/Modules/CMakeSystemSpecificInitialize.cmake
index 629f226..de4d7f5 100644
--- a/Modules/CMakeSystemSpecificInitialize.cmake
+++ b/Modules/CMakeSystemSpecificInitialize.cmake
@@ -11,6 +11,11 @@
#
# 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,
+# and watchOS). For all of those the CMAKE_EFFECTIVE_SYSTEM_NAME is
+# set to Apple which results in using
+# Platfom/Apple-AppleClang-CXX.cmake for the Apple C++ compiler.
set(CMAKE_EFFECTIVE_SYSTEM_NAME "${CMAKE_SYSTEM_NAME}")
include(Platform/${CMAKE_SYSTEM_NAME}-Initialize OPTIONAL)