diff options
author | Brad King <brad.king@kitware.com> | 2013-10-02 17:52:48 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2013-10-08 00:12:46 (GMT) |
commit | ab65862417adc80dfb18170a6bd70889a24fe045 (patch) | |
tree | 52c103ea2e6bf812ce4ae883c0baf68bead8a1ba /Modules/CMakeCXXCompilerId.cpp.in | |
parent | 904ff9fe592882db5dae88e526db2b380d92f87d (diff) | |
download | CMake-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.in | 7 |
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__) |