summaryrefslogtreecommitdiff
path: root/Modules/CMakePlatformId.h.in
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2008-03-10 09:32:25 -0400
committerBrad King <brad.king@kitware.com>2008-03-10 09:32:25 -0400
commit70c2dc8a64505d2cb6b3914dff966ea008865028 (patch)
tree078224d3162904cb42a4165029be52cac29431dd /Modules/CMakePlatformId.h.in
parentd73d9eb0f0ee96c78d16a3ce14bc98482b4f4f63 (diff)
downloadcmake-70c2dc8a64505d2cb6b3914dff966ea008865028.tar.gz
ENH: Make compiler id detection more robust
- Split INFO strings in source into multiple pieces to make sure assembly or other listings produced by the compiler are never matched by the regex - Store INFO strings via pointer instead of array to convince some compilers to store the string literally in the binary - This should help make it work for sdcc 2.8.0 RC1
Diffstat (limited to 'Modules/CMakePlatformId.h.in')
-rw-r--r--Modules/CMakePlatformId.h.in6
1 files changed, 5 insertions, 1 deletions
diff --git a/Modules/CMakePlatformId.h.in b/Modules/CMakePlatformId.h.in
index f62eb36fa2..1f1fca6ff8 100644
--- a/Modules/CMakePlatformId.h.in
+++ b/Modules/CMakePlatformId.h.in
@@ -76,4 +76,8 @@
#endif
-char info_platform[] = "INFO:platform[" PLATFORM_ID "]";
+/* Construct the string literal in pieces to prevent the source from
+ getting matched. Store it in a pointer rather than an array
+ because some compilers will just produce instructions to fill the
+ array rather than assigning a pointer to a static array. */
+char* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";