-
-
Notifications
You must be signed in to change notification settings - Fork 991
/
build_info.hpp
81 lines (62 loc) · 1.68 KB
/
build_info.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
/*
Copyright (C) 2015 - 2016 by Ignacio Riquelme Morelle <shadowm2006@gmail.com>
Part of the Battle for Wesnoth Project http://www.wesnoth.org/
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY.
See the COPYING file for more details.
*/
#ifndef BUILD_CONFIG_HPP_INCLUDED
#define BUILD_CONFIG_HPP_INCLUDED
#include <string>
#include <vector>
namespace game_config
{
enum LIBRARY_ID
{
LIB_BOOST,
LIB_CAIRO,
LIB_PANGO,
LIB_SDL,
LIB_SDL_IMAGE,
LIB_SDL_MIXER,
LIB_SDL_TTF,
LIB_SDL_NET,
LIB_PNG,
LIB_COUNT
};
struct optional_feature
{
std::string name;
bool enabled;
optional_feature(const char* n) : name(n), enabled(false) {}
};
/**
* Return a localized features table.
*/
std::vector<optional_feature> optional_features_table();
/**
* Produce a plain-text report of features suitable for stdout/stderr.
*/
std::string optional_features_report();
/**
* Retrieve the build-time version number of the given library.
*/
const std::string& library_build_version(LIBRARY_ID lib);
/**
* Retrieve the runtime version number of the given library.
*/
const std::string& library_runtime_version(LIBRARY_ID lib);
/**
* Retrieve the user-visible name for the given library.
*/
const std::string& library_name(LIBRARY_ID lib);
/**
* Produce a plain-text report of library versions suitable for stdout/stderr.
*/
std::string library_versions_report();
} // end namespace game_config
#endif