summaryrefslogtreecommitdiffstats
path: root/Modules/Compiler/SunPro-C-DetermineCompiler.cmake
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2014-05-07 10:25:39 (GMT)
committerStephen Kelly <steveire@gmail.com>2014-05-07 12:28:36 (GMT)
commit3b59f8b7c68127c649fd72983e6f0a24cbb51427 (patch)
tree3b11bd7ef31003468c0b94326d844ce33e60e5bd /Modules/Compiler/SunPro-C-DetermineCompiler.cmake
parent8896501b236258f6908a59eb81f49983892bdcff (diff)
downloadCMake-3b59f8b7c68127c649fd72983e6f0a24cbb51427.zip
CMake-3b59f8b7c68127c649fd72983e6f0a24cbb51427.tar.gz
CMake-3b59f8b7c68127c649fd72983e6f0a24cbb51427.tar.bz2
Project: Refactor C compiler determination into multiple files.
Diffstat (limited to 'Modules/Compiler/SunPro-C-DetermineCompiler.cmake')
-rw-r--r--Modules/Compiler/SunPro-C-DetermineCompiler.cmake15
1 files changed, 15 insertions, 0 deletions
diff --git a/Modules/Compiler/SunPro-C-DetermineCompiler.cmake b/Modules/Compiler/SunPro-C-DetermineCompiler.cmake
new file mode 100644
index 0000000..7db1a97
--- /dev/null
+++ b/Modules/Compiler/SunPro-C-DetermineCompiler.cmake
@@ -0,0 +1,15 @@
+
+set(_compiler_id_pp_test "defined(__SUNPRO_C)")
+
+set(_compiler_id_version_compute "
+# if __SUNPRO_C >= 0x5100
+ /* __SUNPRO_C = 0xVRRP */
+# define @PREFIX@COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
+# define @PREFIX@COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
+# define @PREFIX@COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
+# else
+ /* __SUNPRO_CC = 0xVRP */
+# define @PREFIX@COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
+# define @PREFIX@COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
+# define @PREFIX@COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
+# endif")