26 size_t end = version.find(
'.');
27 *major = atoi(version.substr(0, end).c_str());
29 if (end != string::npos) {
30 size_t start = end + 1;
31 end = version.find(
'.', start);
32 *minor = atoi(version.substr(start, end).c_str());
37 int bin_major, bin_minor;
39 int file_major, file_minor;
42 if (bin_major > file_major) {
43 Warning(
"ninja executable version (%s) greater than build file "
44 "ninja_required_version (%s); versions may be incompatible.",
49 if ((bin_major == file_major && bin_minor < file_minor) ||
50 bin_major < file_major) {
51 Fatal(
"ninja version (%s) incompatible with build file "
52 "ninja_required_version version (%s).",
void Warning(const char *msg, va_list ap)
void Fatal(const char *msg,...)
Log a fatal message and exit.
void CheckNinjaVersion(const string &version)
const char * kNinjaVersion
The version number of the current Ninja release.
void ParseVersion(const string &version, int *major, int *minor)