remotemono
config.h
1 /*
2  Copyright 2020 David "Alemarius Nexus" Lerch
3 
4  This file is part of RemoteMono.
5 
6  RemoteMono is free software: you can redistribute it and/or modify
7  it under the terms of the GNU Lesser General Public License as published
8  by the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  RemoteMono is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU Lesser General Public License for more details.
15 
16  You should have received a copy of the GNU Lesser General Public License
17  along with RemoteMono. If not, see <https://www.gnu.org/licenses/>.
18  */
19 
20 #pragma once
21 
22 // BlackBone defines WordSize in Include/Macro.h as a macro (and doesn't use it anywhere else), but Qt uses
23 // it as an enum identifier in qsysinfo.h, so we'll include Include/Macro.h before anything else and then
24 // immdediately #undef WordSize to avoid name conflicts.
25 // TODO: This hack shouldn't be necessary. BlackBone only ever uses WordSize ONCE in Include/Macro.h, so we
26 // should just patch BlackBone and remove it as a macro altogether.
27 
28 // Macro.h uses some of it, so this means we have to include it in EVERY SINGLE FILE *sigh*
29 #include <windows.h>
30 
31 #ifdef WordSize
32 #error Looks like you included a BlackBone header before including config.h. This won't work because of incompatibilities with Qt.
33 #endif
34 
35 #include <BlackBone/Include/Macro.h>
36 
37 #undef WordSize
38 
39 
40 #define REMOTEMONO_VERSION_MAJOR 0
41 #define REMOTEMONO_VERSION_MINOR 1
42 #define REMOTEMONO_VERSION_PATCH 0
43 
44 #define REMOTEMONO_VERSION ((REMOTEMONO_VERSION_MAJOR << 24) | (REMOTEMONO_VERSION_MINOR << 16) | (REMOTEMONO_VERSION_PATCH))