-
Notifications
You must be signed in to change notification settings - Fork 26
/
BUILD.txt
89 lines (63 loc) · 4.22 KB
/
BUILD.txt
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
82
83
84
85
86
87
88
89
Note: These build instructions are outdated.
Look at the Little Navmap Github Wiki for constantly updated instructions:
https://github.com/albar965/littlenavmap/wiki/Compiling
==============================================================================
# Build Instructions
The atools static library is required. Clone atools (`git clone https://github.com/albar965/atools.git`)
and follow the build instructions there. The instructions in this `BUILD.txt` assume that atools was installed
and compiled successfully and Qt Creator was configured accordingly.
Clone the littlexpconnect GIT repository into the same directory as atools. You can use another
directory but then you need to adapt the configuration by changing environment variables.
Look at the `littlexpconnect.pro` file. There is a list of documented environment variables that
can be set to customize the build, like the inclusion of SimConnect or paths to the projects. Most
of these variables are optional and use a reasonable default value. Set these variables in the Qt
Creator GUI or on the command line.
There is no need to edit the `*.pro` files.
## Default paths and Environment Variables
The projects can be built with almost no configuration since all project files fall back to default paths
if the corresponding environment variables are not set. `APROJECTS` is the placeholder for the base directory.
Avoid paths with spaces if possible.
* `APROJECTS/atools/src` Sources. `ATOOLS_INC_PATH`
* `APROJECTS/build-atools-debug` Debug build. `ATOOLS_LIB_PATH`
* `APROJECTS/build-atools-release` Release build. `ATOOLS_LIB_PATH`
* `APROJECTS/build-littlexpconnect-debug` Little Xpconnect debug build.
* `APROJECTS/build-littlexpconnect-release` Little Xpconnect release build.
* `APROJECTS/deploy` Target for `make deploy`. `DEPLOY_BASE`
* `APROJECTS/littlexpconnect` Little Xpconnect Sources.
* `APROJECTS/X-Plane SDK` Required X-Plane SDK. `XPSDK_BASE`
## Windows
You need the MSYS2 64 Bit environment to build a 64 bit version of this plugin.
The atools library has to be compiled with the same build kit.
You can also build Little Xpconnect with the shared Qt but then you have to copy the required shared libraries manually.
Install MSYS2, update and then install the additonal packages:
`pacman -S mingw-w64-x86_64-toolchain mingw-w64-i686-qt mingw-w64-i686-qt5 mingw-w64-x86_64-qt mingw-w64-x86_64-qt5`
- Clone littlexpconnect from GIT (`git clone https://github.com/albar965/littlexpconnect.git`)
to e.g.: `C:\Projects\littlexpconnect`
- For littlexpconnect use the build directory of e.g.: `C:\Projects\build-littlexpconnect-release`. Otherwise
change the paths with envronment variables (see `littlexpconnect.pro` file).
- Import littlexpconnect into the Qt Creator workspace (atools should be already there).
- Set the build kit for atools and littlexpconnect to MSYS2 64.
- Configure the project and enable the shadow build for release or debug versions.
- Run qmake from Qt Creator for all projects
- Build all projects from Qt Creator
- Create and run the target `deploy`. This will create a directory `DEPLOY_BASE\Little Xpconnect` with the plugin.
The littlexpconnect project can be built using the MinGW or MSYS2 environment only. MSVC will not work.
## Linux / macOS
Install Qt development packages. Version at least 5.6.
You can build the program on Linux or macOS similar to the Windows instructions above either using
the Qt Creator GUI or the command line.
SimConnect is not available on these platforms.
The following assumes that atools was already installed and built.
### To build the littlexpconnect release version:
```
mkdir build-littlexpconnect-release
cd build-littlexpconnect-release
qmake ../littlexpconnect/littlexpconnect.pro CONFIG+=release
make
```
## Branches / Project Dependencies
Make sure to use the correct branches to avoid breaking dependencies.
The branch master is the unstable development branch but all software should compile there.
For releases check the release/MAJOR.MINOR branches to get the correct dependencies.
The atools branch is one MAJOR number ahead.
So Little Navconnect branch `release/1.2` should work well with atools `release/2.2` for example.