summaryrefslogtreecommitdiff
path: root/Modules/CMakeCompilerIdDetection.cmake
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2014-04-23 10:51:33 +0200
committerStephen Kelly <steveire@gmail.com>2014-05-07 14:00:00 +0200
commit30a99f5c063d1d66a40b57554a7beec5d8fbf54c (patch)
tree8e7cb538b27031a52a187e0abd1ee917dc93741d /Modules/CMakeCompilerIdDetection.cmake
parent36ed5894840f40f6859710d44be607c929e5d38c (diff)
downloadcmake-30a99f5c063d1d66a40b57554a7beec5d8fbf54c.tar.gz
CompilerId: Add option to generate compiler-id-specific defines.
Diffstat (limited to 'Modules/CMakeCompilerIdDetection.cmake')
-rw-r--r--Modules/CMakeCompilerIdDetection.cmake14
1 files changed, 12 insertions, 2 deletions
diff --git a/Modules/CMakeCompilerIdDetection.cmake b/Modules/CMakeCompilerIdDetection.cmake
index 5df525fe16..4316c41610 100644
--- a/Modules/CMakeCompilerIdDetection.cmake
+++ b/Modules/CMakeCompilerIdDetection.cmake
@@ -38,7 +38,7 @@ function(compiler_id_detection outvar lang)
_readFile(${file})
endforeach()
- set(options ID_STRING VERSION_STRINGS)
+ set(options ID_STRING VERSION_STRINGS ID_DEFINE)
cmake_parse_arguments(CID "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
if (CID_UNPARSED_ARGUMENTS)
message(FATAL_ERROR "Unrecognized arguments: \"${CID_UNPARSED_ARGUMENTS}\"")
@@ -72,9 +72,15 @@ function(compiler_id_detection outvar lang)
IAR
MIPSpro)
+ if(CID_ID_DEFINE)
+ foreach(Id ${ordered_compilers})
+ set(CMAKE_${lang}_COMPILER_ID_CONTENT "${CMAKE_${lang}_COMPILER_ID_CONTENT}# define COMPILER_IS_${Id} 0\n")
+ endforeach()
+ endif()
+
set(pp_if "#if")
if (CID_VERSION_STRINGS)
- set(CMAKE_${lang}_COMPILER_ID_CONTENT "/* Version number components: V=Version, R=Revision, P=Patch
+ set(CMAKE_${lang}_COMPILER_ID_CONTENT "${CMAKE_${lang}_COMPILER_ID_CONTENT}\n/* Version number components: V=Version, R=Revision, P=Patch
Version date components: YYYY=Year, MM=Month, DD=Day */\n")
endif()
@@ -86,6 +92,10 @@ function(compiler_id_detection outvar lang)
if (CID_ID_STRING)
set(id_content "${id_content}# define COMPILER_ID \"${Id}\"")
endif()
+ if (CID_ID_DEFINE)
+ set(id_content "${id_content}# undef COMPILER_IS_${Id}\n")
+ set(id_content "${id_content}# define COMPILER_IS_${Id} 1\n")
+ endif()
if (CID_VERSION_STRINGS)
set(id_content "${id_content}${_compiler_id_version_compute_${Id}}\n")
endif()