Something went wrong. Try again.
OpenMW is an open implementation of the Morrowind engine
Something went wrong. Try again.
1.6 kB · 62 lines
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263#include <components/version/version.hpp>#include <filesystem>#include <fstream>namespace Version{ std::string_view getVersion() { return "@OPENMW_VERSION@"; } std::string_view getCommitHash() { return "@OPENMW_VERSION_COMMITHASH@"; } std::string_view getTagHash() { return "@OPENMW_VERSION_TAGHASH@"; } int getLuaApiRevision() { return @OPENMW_LUA_API_REVISION@; } int getPostprocessingApiRevision() { return @OPENMW_POSTPROCESSING_API_REVISION@; } std::string getOpenmwVersionDescription() { std::string str = "OpenMW version "; str += getVersion(); if (!getCommitHash().empty()) { str += "\nRevision: "; str += getCommitHash().substr(0, 10); } return str; } bool checkResourcesVersion(const std::filesystem::path& resourcePath) { std::ifstream stream(resourcePath / "version"); std::string version, commitHash, tagHash; std::getline(stream, version); std::getline(stream, commitHash); std::getline(stream, tagHash); return getVersion() == version && getCommitHash() == commitHash && getTagHash() == tagHash; } std::string_view getDocumentationUrl() { if constexpr (std::string_view("@OPENMW_VERSION_COMMITHASH@") == "@OPENMW_VERSION_TAGHASH@") return "@OPENMW_DOC_BASEURL@openmw-@OPENMW_VERSION_MAJOR@.@OPENMW_VERSION_MINOR@.@OPENMW_VERSION_RELEASE@/"; else return "@OPENMW_DOC_BASEURL@latest/"; }}