mauer / xmidictrl

XMidiCtrl is an X-Plane plugin to use midi controllers within the flight simulator
https://mauer.github.io/xmidictrl/#/
GNU Affero General Public License v3.0
31 stars 10 forks source link

Add Docker build environment for Linux, Mac, Windows #9

Closed TwinFan closed 2 years ago

TwinFan commented 2 years ago

Docker build environment

This adds a Docker environment to build Linux, Mac, and Windows similar to how LiveTraffic is built. I could successfully build all 3 targets but have only tested the resulting Mac binary.

Mainly adds the docker folder. See its README for some background on the Docker environment. lib/mingw-std-threads is necessary to teach MingW std::thread.

Other than that there were only some minor adaptations to CMakeLists.txt files needed.

I have changed binary output paths to proper X-Plane paths like XMidiCtrl/mac_x64/XMidiCtrl.xpl.

To build install Docker client on Linux, then

cd docker
make

MacOS Security Warning

Please bear in mind that the resulting MacOS binary is not signed, which will likely raise a security popup the first time you run X-Plane after the plugin installation. Something like

"XMidiCtrl.xpl" cannot be opened because the developer cannot be verified.

To solve this:

From now on, X-Plane and XMidiCtrl will start just fine. You will need to repeat this procedure only with the next plugin update.

mauer commented 2 years ago

Thank you so much for your work!!!

I really appreciate it. Using Docker and this whole cross platform compiling is still very new to me. So it's just wonderful to have a working environment I can go forward with.