2022-03-08 10:05:18 +01:00
|
|
|
#include "version.h"
|
|
|
|
|
2022-03-10 09:58:37 +01:00
|
|
|
#include <cstdio>
|
|
|
|
|
2022-04-22 14:04:30 +02:00
|
|
|
#include "fsfw/FSFWVersion.h"
|
|
|
|
|
2022-03-10 09:58:37 +01:00
|
|
|
#ifdef major
|
2022-03-10 09:56:23 +01:00
|
|
|
#undef major
|
2022-03-10 09:58:37 +01:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef minor
|
2022-03-10 09:56:23 +01:00
|
|
|
#undef minor
|
2022-03-10 09:58:37 +01:00
|
|
|
#endif
|
2022-03-10 09:56:23 +01:00
|
|
|
|
2022-05-09 11:06:45 +02:00
|
|
|
const fsfw::Version fsfw::FSFW_VERSION = {FSFW_VERSION_MAJOR, FSFW_VERSION_MINOR,
|
2022-05-10 11:51:25 +02:00
|
|
|
FSFW_VERSION_REVISION, FSFW_VCS_INFO};
|
2022-03-09 19:05:07 +01:00
|
|
|
|
2022-05-09 11:06:45 +02:00
|
|
|
fsfw::Version::Version(int major, int minor, int revision, const char* addInfo)
|
2022-04-22 11:58:44 +02:00
|
|
|
: major(major), minor(minor), revision(revision), addInfo(addInfo) {}
|
2022-03-10 09:58:37 +01:00
|
|
|
|
2022-05-09 11:06:45 +02:00
|
|
|
void fsfw::Version::getVersion(char* str, size_t maxLen) const {
|
2022-04-22 11:58:44 +02:00
|
|
|
size_t len = snprintf(str, maxLen, "%d.%d.%d", major, minor, revision);
|
|
|
|
if (addInfo != nullptr) {
|
|
|
|
snprintf(str + len, maxLen - len, "-%s", addInfo);
|
|
|
|
}
|
2022-03-10 09:58:37 +01:00
|
|
|
}
|
2022-04-22 11:58:44 +02:00
|
|
|
|
2022-05-09 11:06:45 +02:00
|
|
|
namespace fsfw {
|
|
|
|
|
2022-04-22 11:58:44 +02:00
|
|
|
#if FSFW_CPP_OSTREAM_ENABLED == 1
|
|
|
|
std::ostream& operator<<(std::ostream& os, const Version& v) {
|
|
|
|
os << v.major << "." << v.minor << "." << v.revision;
|
|
|
|
if (v.addInfo != nullptr) {
|
|
|
|
os << "-" << v.addInfo;
|
|
|
|
}
|
|
|
|
return os;
|
|
|
|
}
|
|
|
|
#endif
|
2022-05-09 11:06:45 +02:00
|
|
|
|
|
|
|
} // namespace fsfw
|