From c775614e1b6ecec6ae910c18775f0755e72ea50e Mon Sep 17 00:00:00 2001 From: Max Horn Date: Mon, 8 Sep 2003 17:46:54 +0000 Subject: fixed circular dependency; moved version string to main.cpp (seems more logical to me, too) svn-id: r10105 --- common/main.cpp | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'common/main.cpp') diff --git a/common/main.cpp b/common/main.cpp index 2ef2d76a4f..3b475926ad 100644 --- a/common/main.cpp +++ b/common/main.cpp @@ -38,6 +38,50 @@ #include "gui/launcher.h" #include "gui/message.h" +/* + * Version string and build date string. These can be used by anything that + * wants to display this information to the user (e.g. about dialog). + * + * Note: it would be very nice if we could instead of (or in addition to) the + * build date present a date which corresponds to the date our source files + * were last changed. To understand the difference, imagine that a user + * makes a checkout of CVS on January 1, then after a week compiles it + * (e.g. after doing a 'make clean'). The build date then will say January 8 + * even though the files were last changed on January 1. + * + * Another problem is that __DATE__/__TIME__ depend on the local time zone. + * + * It's clear that such a "last changed" date would be much more useful to us + * for feedback purposes. After all, when somebody files a bug report, we + * don't care about the build date, we want to know which date their checkout + * was made. This is even more important now since anon CVS lags a few + * days behind developer CVS. + * + * So, how could we implement this? At least on unix systems, a special script + * could do it. Basically, that script would run over all .cpp/.h files and + * parse the CVS 'Header' keyword we have in our file headers. + * That line contains a date/time in GMT. Now, the script just has to collect + * all these times and find the latest. This time then would be inserted into + * a header file or so (common/date.h ?) which engine.cpp then could + * include and put into a global variable analog to gScummVMBuildDate. + * + * Drawback: scanning all source/header files will be rather slow. Also, this + * only works on systems which can run powerful enough scripts (so I guess + * Visual C++ would be out of the game here? don't know VC enough to be sure). + * + * Another approach would be to somehow get CVS to update a global file + * (e.g. LAST_CHANGED) whenever any checkins are made. That would be + * faster and work w/o much "logic" on the client side, in particular no + * scripts have to be run. The problem with this is that I am not even + * sure it's actually possible! Modifying files during commit time is trivial + * to setup, but I have no idea if/how one can also change files which are not + * currently being commit'ed. + */ +const char *gScummVMVersion = "0.5.3cvs"; +const char *gScummVMBuildDate = __DATE__ " " __TIME__; +const char *gScummVMFullVersion = "ScummVM 0.5.3cvs (" __DATE__ " " __TIME__ ")"; + + Config *g_config = 0; NewGui *g_gui = 0; -- cgit v1.2.3