[Build] output point release version

- to Splashscreen, About, MainWindow and Console
This commit is contained in:
Uwe
2022-12-04 19:45:46 -03:00
parent a482e2421e
commit 9869a2c3d7
6 changed files with 27 additions and 9 deletions

View File

@@ -2455,10 +2455,14 @@ void Application::initConfig(int argc, char ** argv)
// We only set these keys if not yet defined. Therefore it suffices to search // We only set these keys if not yet defined. Therefore it suffices to search
// only for 'BuildVersionMajor'. // only for 'BuildVersionMajor'.
if (App::Application::Config().find("BuildVersionMajor") == App::Application::Config().end()) { if (App::Application::Config().find("BuildVersionMajor") == App::Application::Config().end()) {
std::stringstream str; str << FCVersionMajor << "." << FCVersionMinor; std::stringstream str;
str << FCVersionMajor
<< "." << FCVersionMinor
<< "." << FCVersionPoint;
App::Application::Config()["ExeVersion" ] = str.str(); App::Application::Config()["ExeVersion" ] = str.str();
App::Application::Config()["BuildVersionMajor" ] = FCVersionMajor; App::Application::Config()["BuildVersionMajor" ] = FCVersionMajor;
App::Application::Config()["BuildVersionMinor" ] = FCVersionMinor; App::Application::Config()["BuildVersionMinor" ] = FCVersionMinor;
App::Application::Config()["BuildVersionPoint" ] = FCVersionPoint;
App::Application::Config()["BuildRevision" ] = FCRevision; App::Application::Config()["BuildRevision" ] = FCRevision;
App::Application::Config()["BuildRepositoryURL" ] = FCRepositoryURL; App::Application::Config()["BuildRepositoryURL" ] = FCRepositoryURL;
App::Application::Config()["BuildRevisionDate" ] = FCRevisionDate; App::Application::Config()["BuildRevisionDate" ] = FCRevisionDate;
@@ -2538,17 +2542,21 @@ void Application::initConfig(int argc, char ** argv)
// Remove banner if FreeCAD is invoked via the -c command as regular // Remove banner if FreeCAD is invoked via the -c command as regular
// Python interpreter // Python interpreter
if (!(mConfig["Verbose"] == "Strict")) if (!(mConfig["Verbose"] == "Strict"))
Base::Console().Message("%s %s, Libs: %s.%sR%s\n%s",mConfig["ExeName"].c_str(), Base::Console().Message("%s %s, Libs: %s.%s.%sR%s\n%s",
mConfig["ExeName"].c_str(),
mConfig["ExeVersion"].c_str(), mConfig["ExeVersion"].c_str(),
mConfig["BuildVersionMajor"].c_str(), mConfig["BuildVersionMajor"].c_str(),
mConfig["BuildVersionMinor"].c_str(), mConfig["BuildVersionMinor"].c_str(),
mConfig["BuildVersionPoint"].c_str(),
mConfig["BuildRevision"].c_str(), mConfig["BuildRevision"].c_str(),
mConfig["CopyrightInfo"].c_str()); mConfig["CopyrightInfo"].c_str());
else else
Base::Console().Message("%s %s, Libs: %s.%sB%s\n",mConfig["ExeName"].c_str(), Base::Console().Message("%s %s, Libs: %s.%s.%sR%s\n",
mConfig["ExeName"].c_str(),
mConfig["ExeVersion"].c_str(), mConfig["ExeVersion"].c_str(),
mConfig["BuildVersionMajor"].c_str(), mConfig["BuildVersionMajor"].c_str(),
mConfig["BuildVersionMinor"].c_str(), mConfig["BuildVersionMinor"].c_str(),
mConfig["BuildVersionPoint"].c_str(),
mConfig["BuildRevision"].c_str()); mConfig["BuildRevision"].c_str());
} }
LoadParameters(); LoadParameters();

View File

@@ -469,6 +469,9 @@ PyObject* Application::sGetVersion(PyObject * /*self*/, PyObject *args)
it = cfg.find("BuildVersionMinor"); it = cfg.find("BuildVersionMinor");
list.append(Py::String(it != cfg.end() ? it->second : "")); list.append(Py::String(it != cfg.end() ? it->second : ""));
it = cfg.find("BuildVersionPoint");
list.append(Py::String(it != cfg.end() ? it->second : ""));
it = cfg.find("BuildRevision"); it = cfg.find("BuildRevision");
list.append(Py::String(it != cfg.end() ? it->second : "")); list.append(Py::String(it != cfg.end() ? it->second : ""));

View File

@@ -459,6 +459,7 @@ bool Metadata::satisfies(const Meta::Dependency &dep)
std::map<std::string, std::string> &config = App::Application::Config(); std::map<std::string, std::string> &config = App::Application::Config();
replacements.insert(std::make_pair("$BuildVersionMajor", config["BuildVersionMajor"])); replacements.insert(std::make_pair("$BuildVersionMajor", config["BuildVersionMajor"]));
replacements.insert(std::make_pair("$BuildVersionMinor", config["BuildVersionMinor"])); replacements.insert(std::make_pair("$BuildVersionMinor", config["BuildVersionMinor"]));
replacements.insert(std::make_pair("$BuildVersionMinor", config["BuildVersionPoint"]));
replacements.insert(std::make_pair("$BuildRevision", config["BuildRevision"])); replacements.insert(std::make_pair("$BuildRevision", config["BuildRevision"]));
for (const auto &replacement : replacements) { for (const auto &replacement : replacements) {
auto pos = injectedString.find(replacement.first); auto pos = injectedString.find(replacement.first);
@@ -497,8 +498,10 @@ bool Metadata::supportsCurrentFreeCAD() const
if (fcVersion == Meta::Version()) { if (fcVersion == Meta::Version()) {
std::map<std::string, std::string> &config = App::Application::Config(); std::map<std::string, std::string> &config = App::Application::Config();
std::stringstream ss; std::stringstream ss;
ss << config["BuildVersionMajor"] << "." << config["BuildVersionMinor"] << "." ss << config["BuildVersionMajor"]
<< (config["BuildRevision"].empty() ? "0" : config["BuildRevision"]); << "." << config["BuildVersionMinor"]
<< "." << config["BuildVersionPoint"]
<< "." << (config["BuildRevision"].empty() ? "0" : config["BuildRevision"]);
fcVersion = Meta::Version(ss.str()); fcVersion = Meta::Version(ss.str());
} }

View File

@@ -2024,7 +2024,8 @@ void Application::runApplication()
std::map<std::string, std::string>& config = App::Application::Config(); std::map<std::string, std::string>& config = App::Application::Config();
QString major = QString::fromLatin1(config["BuildVersionMajor"].c_str()); QString major = QString::fromLatin1(config["BuildVersionMajor"].c_str());
QString minor = QString::fromLatin1(config["BuildVersionMinor"].c_str()); QString minor = QString::fromLatin1(config["BuildVersionMinor"].c_str());
QString title = QString::fromLatin1("%1 %2.%3").arg(mainApp.applicationName(), major, minor); QString point = QString::fromLatin1(config["BuildVersionPoint"].c_str());
QString title = QString::fromLatin1("%1 %2.%3.%4").arg(mainApp.applicationName(), major, minor, point);
mw.setWindowTitle(title); mw.setWindowTitle(title);
} else { } else {
mw.setWindowTitle(mainApp.applicationName()); mw.setWindowTitle(mainApp.applicationName());

View File

@@ -1587,7 +1587,8 @@ QPixmap MainWindow::splashImage() const
QString title = qApp->applicationName(); QString title = qApp->applicationName();
QString major = QString::fromLatin1(App::Application::Config()["BuildVersionMajor"].c_str()); QString major = QString::fromLatin1(App::Application::Config()["BuildVersionMajor"].c_str());
QString minor = QString::fromLatin1(App::Application::Config()["BuildVersionMinor"].c_str()); QString minor = QString::fromLatin1(App::Application::Config()["BuildVersionMinor"].c_str());
QString version = QString::fromLatin1("%1.%2").arg(major, minor); QString point = QString::fromLatin1(App::Application::Config()["BuildVersionPoint"].c_str());
QString version = QString::fromLatin1("%1.%2.%3").arg(major, minor, point);
QString position, fontFamily; QString position, fontFamily;
std::map<std::string,std::string>::const_iterator te = App::Application::Config().find("SplashInfoExeName"); std::map<std::string,std::string>::const_iterator te = App::Application::Config().find("SplashInfoExeName");

View File

@@ -314,6 +314,7 @@ void AboutDialog::setupLabels()
banner = banner.left( banner.indexOf(QLatin1Char('\n')) ); banner = banner.left( banner.indexOf(QLatin1Char('\n')) );
QString major = QString::fromLatin1(config["BuildVersionMajor"].c_str()); QString major = QString::fromLatin1(config["BuildVersionMajor"].c_str());
QString minor = QString::fromLatin1(config["BuildVersionMinor"].c_str()); QString minor = QString::fromLatin1(config["BuildVersionMinor"].c_str());
QString point = QString::fromLatin1(config["BuildVersionPoint"].c_str());
QString build = QString::fromLatin1(config["BuildRevision"].c_str()); QString build = QString::fromLatin1(config["BuildRevision"].c_str());
QString disda = QString::fromLatin1(config["BuildRevisionDate"].c_str()); QString disda = QString::fromLatin1(config["BuildRevisionDate"].c_str());
QString mturl = QString::fromLatin1(config["MaintainerUrl"].c_str()); QString mturl = QString::fromLatin1(config["MaintainerUrl"].c_str());
@@ -332,7 +333,7 @@ void AboutDialog::setupLabels()
} }
QString version = ui->labelBuildVersion->text(); QString version = ui->labelBuildVersion->text();
version.replace(QString::fromLatin1("Unknown"), QString::fromLatin1("%1.%2").arg(major, minor)); version.replace(QString::fromLatin1("Unknown"), QString::fromLatin1("%1.%2.%3").arg(major, minor, point));
ui->labelBuildVersion->setText(version); ui->labelBuildVersion->setText(version);
QString revision = ui->labelBuildRevision->text(); QString revision = ui->labelBuildRevision->text();
@@ -725,6 +726,7 @@ void AboutDialog::on_copyButton_clicked()
QString major = QString::fromLatin1(config["BuildVersionMajor"].c_str()); QString major = QString::fromLatin1(config["BuildVersionMajor"].c_str());
QString minor = QString::fromLatin1(config["BuildVersionMinor"].c_str()); QString minor = QString::fromLatin1(config["BuildVersionMinor"].c_str());
QString point = QString::fromLatin1(config["BuildVersionPoint"].c_str());
QString build = QString::fromLatin1(config["BuildRevision"].c_str()); QString build = QString::fromLatin1(config["BuildRevision"].c_str());
QString deskEnv = QProcessEnvironment::systemEnvironment().value(QStringLiteral("XDG_CURRENT_DESKTOP"), QString()); QString deskEnv = QProcessEnvironment::systemEnvironment().value(QStringLiteral("XDG_CURRENT_DESKTOP"), QString());
@@ -741,7 +743,7 @@ void AboutDialog::on_copyButton_clicked()
str << "[code]\n"; str << "[code]\n";
str << "OS: " << QSysInfo::prettyProductName() << deskInfo << '\n'; str << "OS: " << QSysInfo::prettyProductName() << deskInfo << '\n';
str << "Word size of " << exe << ": " << QSysInfo::WordSize << "-bit\n"; str << "Word size of " << exe << ": " << QSysInfo::WordSize << "-bit\n";
str << "Version: " << major << "." << minor << "." << build; str << "Version: " << major << "." << minor << "." << point << "." << build;
char *appimage = getenv("APPIMAGE"); char *appimage = getenv("APPIMAGE");
if (appimage) if (appimage)
str << " AppImage"; str << " AppImage";