diff options
| author | Mehmet Samet Duman <yongdohyun@projecttick.org> | 2026-04-02 18:45:07 +0300 |
|---|---|---|
| committer | Mehmet Samet Duman <yongdohyun@projecttick.org> | 2026-04-02 18:45:07 +0300 |
| commit | 31b9a8949ed0a288143e23bf739f2eb64fdc63be (patch) | |
| tree | 8a984fa143c38fccad461a77792d6864f3e82cd3 /meshmc/buildconfig/BuildConfig.cpp.in | |
| parent | 934382c8a1ce738589dee9ee0f14e1cec812770e (diff) | |
| parent | fad6a1066616b69d7f5fef01178efdf014c59537 (diff) | |
| download | Project-Tick-31b9a8949ed0a288143e23bf739f2eb64fdc63be.tar.gz Project-Tick-31b9a8949ed0a288143e23bf739f2eb64fdc63be.zip | |
Add 'meshmc/' from commit 'fad6a1066616b69d7f5fef01178efdf014c59537'
git-subtree-dir: meshmc
git-subtree-mainline: 934382c8a1ce738589dee9ee0f14e1cec812770e
git-subtree-split: fad6a1066616b69d7f5fef01178efdf014c59537
Diffstat (limited to 'meshmc/buildconfig/BuildConfig.cpp.in')
| -rw-r--r-- | meshmc/buildconfig/BuildConfig.cpp.in | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/meshmc/buildconfig/BuildConfig.cpp.in b/meshmc/buildconfig/BuildConfig.cpp.in new file mode 100644 index 0000000000..9af27350df --- /dev/null +++ b/meshmc/buildconfig/BuildConfig.cpp.in @@ -0,0 +1,126 @@ +/* SPDX-FileCopyrightText: 2026 Project Tick + * SPDX-FileContributor: Project Tick + * SPDX-License-Identifier: GPL-3.0-or-later + * + * MeshMC - A Custom Launcher for Minecraft + * Copyright (C) 2026 Project Tick + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <https://www.gnu.org/licenses/>. + */ + +#include "BuildConfig.h" +#include <QObject> + +const Config BuildConfig; + +Config::Config() +{ + // Name and copyright + MESHMC_NAME = "@MeshMC_Name@"; + MESHMC_DISPLAYNAME = "@MeshMC_DisplayName@"; + MESHMC_COPYRIGHT = "@MeshMC_Copyright@"; + MESHMC_DOMAIN = "@MeshMC_Domain@"; + MESHMC_CONFIGFILE = "@MeshMC_ConfigFile@"; + MESHMC_GIT = "@MeshMC_Git@"; + + USER_AGENT = "@MeshMC_UserAgent@"; + USER_AGENT_UNCACHED = USER_AGENT + " (Uncached)"; + + // Version information + VERSION_MAJOR = @MeshMC_VERSION_MAJOR@; + VERSION_MINOR = @MeshMC_VERSION_MINOR@; + VERSION_HOTFIX = @MeshMC_VERSION_HOTFIX@; + VERSION_BUILD = @MeshMC_VERSION_BUILD@; + + BUILD_PLATFORM = "@MeshMC_BUILD_PLATFORM@"; + BUILD_ARTIFACT = "@MeshMC_BUILD_ARTIFACT@"; + BUILD_DATE = "@MeshMC_BUILD_TIMESTAMP@"; + COMPILER_NAME = "@MeshMC_COMPILER_NAME@"; + COMPILER_VERSION = "@MeshMC_COMPILER_VERSION@"; + COMPILER_TARGET_SYSTEM = "@MeshMC_COMPILER_TARGET_SYSTEM@"; + COMPILER_TARGET_SYSTEM_VERSION = "@MeshMC_COMPILER_TARGET_SYSTEM_VERSION@"; + COMPILER_TARGET_SYSTEM_PROCESSOR = "@MeshMC_COMPILER_TARGET_PROCESSOR@"; + UPDATER_BASE = "@MeshMC_UPDATER_BASE@"; + UPDATER_FEED_URL = "@MeshMC_UPDATER_FEED_URL@"; + UPDATER_GITHUB_API_URL = "@MeshMC_UPDATER_GITHUB_API_URL@"; + ANALYTICS_ID = "@MeshMC_ANALYTICS_ID@"; + NOTIFICATION_URL = "@MeshMC_NOTIFICATION_URL@"; + FULL_VERSION_STR = + "@MeshMC_VERSION_MAJOR@.@MeshMC_VERSION_MINOR@.@MeshMC_VERSION_BUILD@"; + + GIT_COMMIT = "@MeshMC_GIT_COMMIT@"; + GIT_REFSPEC = "@MeshMC_GIT_REFSPEC@"; + GIT_TAG = "@MeshMC_GIT_TAG@"; + + // New updater: enabled when both feed and GitHub API URLs are configured + // and a build artifact name is provided for platform-specific asset + // matching. + if (!UPDATER_FEED_URL.isEmpty() && !UPDATER_GITHUB_API_URL.isEmpty() && + !BUILD_ARTIFACT.isEmpty()) { + UPDATER_ENABLED = true; + } + + // VERSION_CHANNEL is still populated from the git branch for informational + // use. + if (GIT_REFSPEC.startsWith("refs/heads/")) { + VERSION_CHANNEL = GIT_REFSPEC; + VERSION_CHANNEL.remove("refs/heads/"); + } else { + VERSION_CHANNEL = QObject::tr("custom"); + } + + VERSION_STR = "@MeshMC_VERSION_STRING@"; + MSAClientID = "@MeshMC_MICROSOFT_CLIENT_ID@"; + NEWS_RSS_URL = "@MeshMC_NEWS_RSS_URL@"; + PASTE_EE_KEY = "@MeshMC_PASTE_EE_API_KEY@"; + IMGUR_CLIENT_ID = "@MeshMC_IMGUR_CLIENT_ID@"; + META_URL = "@MeshMC_META_URL@"; + CURSEFORGE_API_KEY = "@MeshMC_CURSEFORGE_API_KEY@"; + + BUG_TRACKER_URL = "@MeshMC_BUG_TRACKER_URL@"; + DISCORD_URL = "@MeshMC_DISCORD_URL@"; + SUBREDDIT_URL = "@MeshMC_SUBREDDIT_URL@"; +} + +QString Config::printableVersionString() const +{ + QString vstr = + QString("%1.%2.%3") + .arg(QString::number(VERSION_MAJOR), QString::number(VERSION_MINOR), + QString::number(VERSION_HOTFIX)); + + if (!GIT_TAG.isEmpty() && !GIT_TAG.endsWith("-NOTFOUND")) { + return vstr; + } + + if (!GIT_COMMIT.isEmpty() && !GIT_COMMIT.endsWith("-NOTFOUND")) { + vstr += "-r" + GIT_COMMIT.left(6); + } + + return vstr; +} + +QString Config::compilerID() const +{ + if (COMPILER_VERSION.isEmpty()) + return COMPILER_NAME; + return QStringLiteral("%1 - %2").arg(COMPILER_NAME).arg(COMPILER_VERSION); +} + +QString Config::systemID() const +{ + return QStringLiteral("%1 %2 %3") + .arg(COMPILER_TARGET_SYSTEM, COMPILER_TARGET_SYSTEM_VERSION, + COMPILER_TARGET_SYSTEM_PROCESSOR); +} |
