1 /***
2     This file is part of snapcast
3     Copyright (C) 2014-2021  Johannes Pohl
4 
5     This program is free software: you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation, either version 3 of the License, or
8     (at your option) any later version.
9 
10     This program is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13     GNU General Public License for more details.
14 
15     You should have received a copy of the GNU General Public License
16     along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 ***/
18 
19 #ifndef VERSION_HPP
20 #define VERSION_HPP
21 
22 #include <string>
23 
24 namespace version
25 {
26 
27 #ifdef REVISION
28 static constexpr auto revision = REVISION;
29 #else
30 static constexpr auto revision = "";
31 #endif
32 
33 #ifdef VERSION
34 static constexpr auto code = VERSION;
35 #else
36 static constexpr auto code = "";
37 #endif
38 
rev(std::size_t len=0)39 static std::string rev(std::size_t len = 0)
40 {
41     if (len == 0)
42     {
43         return revision;
44     }
45     return std::string(revision).substr(0, len);
46 }
47 
48 } // namespace version
49 
50 #endif
51