GooseEPM v0.11.0
Loading...
Searching...
No Matches
version.h
Go to the documentation of this file.
1
7#ifndef GOOSEEPM_VERSION_H
8#define GOOSEEPM_VERSION_H
9
10#include "config.h"
11#include <prrng.h>
12
33#ifndef GOOSEEPM_VERSION
34#define GOOSEEPM_VERSION "@PROJECT_VERSION@"
35#endif
36
37namespace GooseEPM {
38
39namespace detail {
40
41inline std::string unquote(const std::string& arg)
42{
43 std::string ret = arg;
44 ret.erase(std::remove(ret.begin(), ret.end(), '\"'), ret.end());
45 return ret;
46}
47
48} // namespace detail
49
54inline std::string version()
55{
56 return detail::unquote(std::string(QUOTE(GOOSEEPM_VERSION)));
57}
58
69inline std::vector<std::string> version_dependencies()
70{
71 auto ret = prrng::version_dependencies();
72 ret.push_back("gooseepm=" + version());
73 std::sort(ret.begin(), ret.end(), std::greater<std::string>());
74 return ret;
75}
76
81inline std::vector<std::string> version_compiler()
82{
83 return prrng::version_compiler();
84}
85
86} // namespace GooseEPM
87
88#endif
Elasto-plastic model.
Definition config.h:111
std::vector< std::string > version_compiler()
Information on the compiler, the platform, the C++ standard, and the compilation date.
Definition version.h:81
std::vector< std::string > version_dependencies()
Versions of this library and of all of its dependencies.
Definition version.h:69
std::string version()
Version string (for example "0.8.0").
Definition version.h:54
#define GOOSEEPM_VERSION
Current version.
Definition version.h:34