19 static const string Url =
"$HeadURL: svn://svn.nublado.org/cloudy/branches/c17_branch/source/version.cpp $";
23 static const char chMonth[12][4] =
24 {
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec" };
45 if( Part.size() >= 3 )
50 string Branch = Part[Part.size()-3];
52 bool lgReleaseTag = (
Url.find(
"/tags/release/") != string::npos );
53 bool lgPatchTag = (
Url.find(
"/tags/patch_versions/") != string::npos );
54 bool lgDevelopTag = (
Url.find(
"/tags/develop/") != string::npos );
57 Branch.size() == 10 && Branch[0] ==
'c' &&
58 Branch.find(
"_branch") != string::npos );
60 lgRelease = ( lgReleaseTag || lgPatchTag );
63 string::size_type ptr;
64 if( lgDevelopTag && ( ptr = Branch.find(
"_rc" ) ) != string::npos )
66 sscanf( Branch.substr( ptr+3 ).c_str(),
"%ld", &
nBetaVer );
70 int nMajorLevel=0, nMinorLevel=0, nPatchLevel=0;
75 sscanf( Branch.substr(1,2).c_str(),
"%d", &nMajorLevel );
77 fprintf(
ioQQQ,
"PROBLEM - CLD_MAJOR mismatch, please check version.h\n" );
83 sscanf( Branch.substr(4,2).c_str(),
"%d", &nMinorLevel );
85 fprintf(
ioQQQ,
"PROBLEM - CLD_MINOR mismatch, please check version.h\n" );
91 sscanf( Branch.substr(9,2).c_str(),
"%d", &nPatchLevel );
93 fprintf(
ioQQQ,
"PROBLEM - CLD_PATCH mismatch, please check version.h\n" );
95 if( nPatchLevel == 0 )
104 else if( lgPatchTag )
106 sprintf(
chVersion,
"%s (patch level %d)", Branch.substr(1,5).c_str(), nPatchLevel );
107 else if( nBetaVer > 0 )
109 sprintf(
chVersion,
"%s beta %ld (prerelease)", Branch.substr(1,5).c_str(),
nBetaVer );
133 sprintf(
chVersion,
"%2.2i.%2.2i (patch level %d)",
140 sprintf(
chVersion,
"%2.2i.%2.2i beta %ld (prerelease)",
152 if(
sizeof(
int) == 4 &&
sizeof(
long) == 4 &&
sizeof(
long*) == 4 )
153 strncpy( mode,
"ILP32",
sizeof(mode) );
154 else if(
sizeof(
int) == 4 &&
sizeof(
long) == 4 &&
sizeof(
long*) == 8 )
155 strncpy( mode,
"IL32P64",
sizeof(mode) );
156 else if(
sizeof(
int) == 4 &&
sizeof(
long) == 8 &&
sizeof(
long*) == 8 )
157 strncpy( mode,
"I32LP64",
sizeof(mode) );
158 else if(
sizeof(
int) == 8 &&
sizeof(
long) == 8 &&
sizeof(
long*) == 8 )
159 strncpy( mode,
"ILP64",
sizeof(mode) );
161 strncpy( mode,
"UNKN",
sizeof(mode) );
169 "Cloudy compiled on %s in OS %s using the %s %i compiler. Mode %s, "
170 "denormalized float: %c double: %c.",
static const int CLD_PATCH
char chVersion[INPUT_LINE_LENGTH]
double min_double() const
static const int CLD_MINOR
char chDate[INPUT_LINE_LENGTH]
const int INPUT_LINE_LENGTH
static const int CLD_MAJOR
sys_float min_float() const
int fprintf(const Output &stream, const char *format,...)
void Split(const string &str, const string &sep, vector< string > &lst, split_mode mode)
char chInfo[INPUT_LINE_LENGTH]
static const char * svn_revision