#pragma once #include #define PROJECT_VERSION_FULL "@PROJECT_VERSION_FULL@" #define PROJECT_VERSION_TYPE "@PROJECT_VERSION_TYPE@" #define PROJECT_VERSION_COMMIT "@PROJECT_VERSION_COMMIT@" #define PROJECT_VERSION_COMMIT_FULL "@PROJECT_VERSION_COMMIT_FULL@" #define PROJECT_VERSION_BRANCH "@PROJECT_VERSION_BRANCH@" #define PROJECT_VERSION_CLEAN "@PROJECT_VERSION_CLEAN@" #define PROJECT_VERSION_BUILD_TIME "@PROJECT_VERSION_BUILD_TIME@" namespace sd_rest { struct VersionInfo { std::string version_full; std::string version_type; std::string commit_short; std::string commit_full; std::string branch; bool is_clean; std::string build_time; VersionInfo() : version_full(PROJECT_VERSION_FULL), version_type(PROJECT_VERSION_TYPE), commit_short(PROJECT_VERSION_COMMIT), commit_full(PROJECT_VERSION_COMMIT_FULL), branch(PROJECT_VERSION_BRANCH), is_clean(PROJECT_VERSION_CLEAN == "true"), build_time(PROJECT_VERSION_BUILD_TIME) {} }; // Global version info instance extern const VersionInfo VERSION_INFO; } // namespace sd_rest