version.h.in 1.1 KB

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