|
|
@ -7,35 +7,38 @@ |
|
|
|
|
|
|
|
namespace storm { |
|
|
|
namespace utility { |
|
|
|
|
|
|
|
|
|
|
|
struct StormVersion { |
|
|
|
/// The major version of Storm. |
|
|
|
const static unsigned versionMajor; |
|
|
|
|
|
|
|
|
|
|
|
/// The minor version of Storm. |
|
|
|
const static unsigned versionMinor; |
|
|
|
|
|
|
|
|
|
|
|
/// The patch version of Storm. |
|
|
|
const static unsigned versionPatch; |
|
|
|
|
|
|
|
|
|
|
|
/// The label version of Storm (might be empty). |
|
|
|
const static std::string versionLabel; |
|
|
|
|
|
|
|
/// Flag indicating if the version of Storm is a development version. |
|
|
|
const static bool versionDev; |
|
|
|
|
|
|
|
|
|
|
|
/// The short hash of the git commit this build is based on |
|
|
|
const static std::string gitRevisionHash; |
|
|
|
|
|
|
|
|
|
|
|
/// How many commits passed since the tag was last set. |
|
|
|
const static unsigned commitsAhead; |
|
|
|
|
|
|
|
|
|
|
|
/// 0 iff there no files were modified in the checkout, 1 otherwise. If none, no information about dirtyness is given. |
|
|
|
const static boost::optional<bool> dirty; |
|
|
|
|
|
|
|
|
|
|
|
/// The system which has compiled Storm. |
|
|
|
const static std::string systemName; |
|
|
|
|
|
|
|
|
|
|
|
/// The system version which has compiled Storm. |
|
|
|
const static std::string systemVersion; |
|
|
|
|
|
|
|
|
|
|
|
/// The compiler version that was used to build Storm. |
|
|
|
const static std::string cxxCompiler; |
|
|
|
|
|
|
@ -45,18 +48,18 @@ namespace storm { |
|
|
|
static std::string shortVersionString() { |
|
|
|
std::stringstream sstream; |
|
|
|
sstream << versionMajor << "." << versionMinor << "." << versionPatch; |
|
|
|
if (!versionLabel.empty()) { |
|
|
|
sstream << "-" << versionLabel; |
|
|
|
} |
|
|
|
if (versionDev) { |
|
|
|
sstream << " (dev)"; |
|
|
|
} |
|
|
|
return sstream.str(); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
static std::string longVersionString() { |
|
|
|
std::stringstream sstream; |
|
|
|
sstream << "Version " << versionMajor << "." << versionMinor << "." << versionPatch; |
|
|
|
if (versionDev) { |
|
|
|
sstream << " (dev)"; |
|
|
|
} |
|
|
|
sstream << "Version " << shortVersionString(); |
|
|
|
if (commitsAhead) { |
|
|
|
sstream << " (+ " << commitsAhead << " commits)"; |
|
|
|
} |
|
|
@ -76,7 +79,7 @@ namespace storm { |
|
|
|
} |
|
|
|
return sstream.str(); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
static std::string buildInfo() { |
|
|
|
std::stringstream sstream; |
|
|
|
sstream << "Compiled on " << systemName << " " << systemVersion << " using " << cxxCompiler << " with flags '" << cxxFlags << "'"; |