diff options
author | Brad King <brad.king@kitware.com> | 2007-04-28 13:35:01 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2007-04-28 13:35:01 (GMT) |
commit | eac71647ddab0eb52fe3ab20062519f7693ce44d (patch) | |
tree | 865fa99dea2700f89530783c6114b5ec64fc8490 /Modules/CMakeCXXCompilerId.cpp | |
parent | bceb1532c665bac669f53a0f364dad920058017e (diff) | |
download | CMake-eac71647ddab0eb52fe3ab20062519f7693ce44d.zip CMake-eac71647ddab0eb52fe3ab20062519f7693ce44d.tar.gz CMake-eac71647ddab0eb52fe3ab20062519f7693ce44d.tar.bz2 |
ENH: Merging CompilerId implementation from branch CMake-Modules-CompilerId to the main tree. Changes between CMake-Modules-CompilerId-bp and CMake-Modules-CompilerId-mp1 are included.
Diffstat (limited to 'Modules/CMakeCXXCompilerId.cpp')
-rw-r--r-- | Modules/CMakeCXXCompilerId.cpp | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/Modules/CMakeCXXCompilerId.cpp b/Modules/CMakeCXXCompilerId.cpp new file mode 100644 index 0000000..f133147 --- /dev/null +++ b/Modules/CMakeCXXCompilerId.cpp @@ -0,0 +1,49 @@ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + +static char const info_compiler[] = "INFO:compiler[" +#if defined(__COMO__) +"Comeau" +#elif defined(__INTEL_COMPILER) || defined(__ICC) +"Intel" +#elif defined(__BORLANDC__) +"Borland" +#elif defined(__WATCOMC__) +"Watcom" +#elif defined(__SUNPRO_CC) +"SunPro" +#elif defined(__HP_aCC) +"HP" +#elif defined(__DECCXX) +"Compaq" +#elif defined(__IBMCPP__) +"VisualAge" +#elif defined(__GNUC__) +"GNUC" +#elif defined(_MSC_VER) +"MSVC" +#elif defined(_COMPILER_VERSION) +"MIPSpro" + +/* This compiler is either not known or is too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__sgi) +"MIPSpro" +#elif defined(__hpux) || defined(__hpua) +"HP" + +#else /* unknown compiler */ +"" +#endif +"]"; + +/* Include the platform identification source. */ +#include "CMakePlatformId.h" + +/* Make sure the information strings are referenced. */ +int main() +{ + return ((int)&info_compiler) + ((int)&info_platform); +} |