]> git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - gmqcc.h
added the --add-info compile switch: it adds a global const string named version...
[xonotic/gmqcc.git] / gmqcc.h
diff --git a/gmqcc.h b/gmqcc.h
index 1f0e066815a06655587e2240b10c320cabcf45b8..f0d5c99c0f544e4019382b432223a73711362e86 100644 (file)
--- a/gmqcc.h
+++ b/gmqcc.h
 /* Undefine the following on a release-tag: */
 #define GMQCC_VERSION_TYPE_DEVEL
 
+/* Full version string in case we need it */
+#ifdef GMQCC_GITINFO
+#    define GMQCC_DEV_VERSION_STRING "git build: " GMQCC_GITINFO "\n"
+#elif defined(GMQCC_VERSION_TYPE_DEVEL
+#    define GMQCC_DEV_VERSION_STRING "development build\n"
+#else
+#    define GMQCC_DEV_VERSION_STRING
+#endif
+
+#define GMQCC_STRINGIFY(x) #x
+#define GMQCC_IND_STRING(x) GMQCC_STRINGIFY(x)
+#define GMQCC_FULL_VERSION_STRING \
+"GMQCC " \
+GMQCC_IND_STRING(GMQCC_VERSION_MAJOR) "." \
+GMQCC_IND_STRING(GMQCC_VERSION_MINOR) "." \
+GMQCC_IND_STRING(GMQCC_VERSION_PATCH) \
+" Built " __DATE__ " " __TIME__ \
+"\n" GMQCC_DEV_VERSION_STRING
+
 /*
  * We cannot rely on C99 at all, since compilers like MSVC
  * simply don't support it.  We define our own boolean type
@@ -1129,6 +1148,7 @@ typedef struct {
     uint16_t    forced_crc;     /* --force-crc=  */
     bool        pp_only;        /* -E            */
     size_t      max_array_size; /* --max-array=  */
+    bool        add_info;       /* --add-info    */
 
     uint32_t flags        [1 + (COUNT_FLAGS         / 32)];
     uint32_t warn         [1 + (COUNT_WARNINGS      / 32)];