Files
OpenVulkano/openVulkanoCpp/Base/EngineConstants.hpp
2023-10-04 19:59:59 +02:00

37 lines
934 B
C++

/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
#pragma once
#include <string>
#include <spdlog/fmt/fmt.h> //TODO replace with external fmt
namespace OpenVulkano
{
inline const char* ENGINE_NAME = "OpenVulkano";
struct EngineVersion
{
int major, minor, patch;
int intVersion;
std::string stringVersion;
EngineVersion(int major, int minor, int patch, int build = 0) : major(major), minor(minor), patch(patch)
{
intVersion = ((major) << 24) | ((minor) << 16) | (patch);
std::string_view buildConfig;
#ifdef _DEBUG
buildConfig = "MSVC_DEBUG";
#elif DEBUG
buildConfig = "DEBUG";
#endif
stringVersion = fmt::format("v{0}.{1}.{2}.{3}{4}", major, minor, patch, build, buildConfig);
}
};
inline const EngineVersion ENGINE_VERSION(0, 0, 1);
}