fsfw/src/fsfw/version.cpp

37 lines
913 B
C++
Raw Normal View History

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
const Version fsfw::FSFW_VERSION = {FSFW_VERSION_MAJOR, FSFW_VERSION_MINOR, FSFW_VERSION_REVISION,
FSFW_VERSION_CST_GIT_SHA1};
2022-03-09 19:05:07 +01:00
Version::Version(int major, int minor, int revision, const char* addInfo)
: major(major), minor(minor), revision(revision), addInfo(addInfo) {}
2022-03-10 09:58:37 +01:00
void Version::getVersion(char* str, size_t maxLen) const {
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
}
#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