summaryrefslogtreecommitdiffstats
path: root/Modules/CMakeCXXCompilerId.cpp.in
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2013-10-02 17:52:48 (GMT)
committerBrad King <brad.king@kitware.com>2013-10-08 00:12:46 (GMT)
commitab65862417adc80dfb18170a6bd70889a24fe045 (patch)
tree52c103ea2e6bf812ce4ae883c0baf68bead8a1ba /Modules/CMakeCXXCompilerId.cpp.in
parent904ff9fe592882db5dae88e526db2b380d92f87d (diff)
downloadCMake-ab65862417adc80dfb18170a6bd70889a24fe045.zip
CMake-ab65862417adc80dfb18170a6bd70889a24fe045.tar.gz
CMake-ab65862417adc80dfb18170a6bd70889a24fe045.tar.bz2
Clang: Add separate "AppleClang" compiler id
Apple distributes their own Clang build with their own version numbers that differ from upstream Clang. Use the __apple_build_version__ symbol to identify the Apple Clang compiler and report the Apple Build Version as the fourth version component in CMAKE_<LANG>_COMPILER_VERSION. Add Compiler/AppleClang-<lang> and Platform/Darwin-AppleClang-<lang> modules that simply include the upstream equivalents. Fix comparisons of CMAKE_<LANG>_COMPILER_ID to Clang in CMake's own source and tests to account for AppleClang.
Diffstat (limited to 'Modules/CMakeCXXCompilerId.cpp.in')
-rw-r--r--Modules/CMakeCXXCompilerId.cpp.in7
1 files changed, 6 insertions, 1 deletions
diff --git a/Modules/CMakeCXXCompilerId.cpp.in b/Modules/CMakeCXXCompilerId.cpp.in
index 5e87715..2b8bf6e 100644
--- a/Modules/CMakeCXXCompilerId.cpp.in
+++ b/Modules/CMakeCXXCompilerId.cpp.in
@@ -34,7 +34,12 @@
# endif
#elif defined(__clang__)
-# define COMPILER_ID "Clang"
+# if defined(__apple_build_version__)
+# define COMPILER_ID "AppleClang"
+# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
+# else
+# define COMPILER_ID "Clang"
+# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)