version.h.in 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #pragma once
  2. #include <string>
  3. #define PROJECT_VERSION_FULL "@PROJECT_VERSION_FULL@"
  4. #define PROJECT_VERSION_TYPE "@PROJECT_VERSION_TYPE@"
  5. #define PROJECT_VERSION_COMMIT "@PROJECT_VERSION_COMMIT@"
  6. #define PROJECT_VERSION_COMMIT_FULL "@PROJECT_VERSION_COMMIT_FULL@"
  7. #define PROJECT_VERSION_BRANCH "@PROJECT_VERSION_BRANCH@"
  8. #define PROJECT_VERSION_CLEAN "@PROJECT_VERSION_CLEAN@"
  9. #define PROJECT_VERSION_BUILD_TIME "@PROJECT_VERSION_BUILD_TIME@"
  10. namespace sd_rest {
  11. struct VersionInfo {
  12. std::string version_full;
  13. std::string version_type;
  14. std::string commit_short;
  15. std::string commit_full;
  16. std::string branch;
  17. bool is_clean;
  18. std::string build_time;
  19. VersionInfo() :
  20. version_full(PROJECT_VERSION_FULL),
  21. version_type(PROJECT_VERSION_TYPE),
  22. commit_short(PROJECT_VERSION_COMMIT),
  23. commit_full(PROJECT_VERSION_COMMIT_FULL),
  24. branch(PROJECT_VERSION_BRANCH),
  25. is_clean(PROJECT_VERSION_CLEAN == "true"),
  26. build_time(PROJECT_VERSION_BUILD_TIME) {}
  27. };
  28. // Global version info instance
  29. extern const VersionInfo VERSION_INFO;
  30. } // namespace sd_rest