KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
kratos_version.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // Kratos default license: kratos/license.txt
9 //
10 // Main authors: Carlos Roig
11 //
12 
13 // System includes
14 #include <string>
15 
16 // External includes
18 
19 // Project includes
20 
21 #pragma once
22 
23 namespace Kratos {
24 
25 // Kratos Minor and Major
26 #ifndef KRATOS_MAJOR_VERSION
27 #define KRATOS_MAJOR_VERSION 9
28 #endif
29 
30 #ifndef KRATOS_MINOR_VERSION
31 #define KRATOS_MINOR_VERSION 0
32 #endif
33 
34 #define KRATOS_VERSION_EQ(MAJOR,MINOR) \
35 ((KRATOS_MAJOR_VERSION == (MAJOR)) && (KRATOS_MINOR_VERSION == (MINOR)))
36 
37 #define KRATOS_VERSION_ KRATOS_VERSION_EQ
38 
39 #define KRATOS_VERSION_LT(MAJOR,MINOR) \
40  (KRATOS_MAJOR_VERSION < (MAJOR) || (KRATOS_MAJOR_VERSION == (MAJOR) && \
41  (KRATOS_MINOR_VERSION < (MINOR) )))
42 
43 #define KRATOS_VERSION_LE(MAJOR,MINOR) \
44  (KRATOS_VERSION_LT(MAJOR,MINOR) || KRATOS_VERSION_EQ(MAJOR,MINOR))
45 
46 #define KRATOS_VERSION_GT(MAJOR,MINOR) (0 == KRATOS_VERSION_LE(MAJOR,MINOR))
47 
48 #define KRATOS_VERSION_GE(MAJOR,MINOR) (0 == KRATOS_VERSION_LT(MAJOR,MINOR))
49 
50 constexpr int GetMajorVersion() {
51  return KRATOS_MAJOR_VERSION;
52 }
53 
54 constexpr int GetMinorVersion() {
55  return KRATOS_MINOR_VERSION;
56 }
57 
59 KRATOS_API_EXPORT std::string GetCommit();
60 KRATOS_API_EXPORT std::string GetBranchName();
61 KRATOS_API_EXPORT std::string GetBuildType();
63 KRATOS_API_EXPORT std::string GetOSName();
64 KRATOS_API_EXPORT std::string GetCompiler();
65 
66 } // namespace Kratos
#define KRATOS_API_EXPORT
Definition: kratos_export_api.h:27
#define KRATOS_MAJOR_VERSION
Definition: kratos_version.h:27
#define KRATOS_MINOR_VERSION
Definition: kratos_version.h:31
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
KRATOS_API_EXPORT std::string GetBranchName()
Definition: kratos_version.cpp:114
KRATOS_API_EXPORT std::string GetCompiler()
Definition: kratos_version.cpp:130
KRATOS_API_EXPORT std::string GetPatchVersion()
Definition: kratos_version.cpp:106
constexpr int GetMajorVersion()
Definition: kratos_version.h:50
KRATOS_API_EXPORT std::string GetVersionString()
Definition: kratos_version.cpp:122
KRATOS_API_EXPORT std::string GetBuildType()
Definition: kratos_version.cpp:118
constexpr int GetMinorVersion()
Definition: kratos_version.h:54
KRATOS_API_EXPORT std::string GetCommit()
Definition: kratos_version.cpp:110
KRATOS_API_EXPORT std::string GetOSName()
Definition: kratos_version.cpp:126