afrl-rq / OpenUxAS-SoI

Project for multi-UAV cooperative decision making
Other
71 stars 38 forks source link

Rework Meson dependencies and Docker #56

Closed acfoltzer closed 6 years ago

acfoltzer commented 6 years ago

This set of patches updates the Meson build files to accommodate two new use cases:

The main mechanism for accomplishing both of these is to turn all third-party dependencies into proper Meson dependency objects, rather than using a mix of dependency and library objects as before. This means that Meson will first look for system-installed packages (via pkg-config) before falling back to wrapped dependencies.

The Docker infrastructure takes advantage of this by installing as many distro-provided packages as possible, and then supplementing them with manually-installed dependencies (in /usr/local).

The deploy Docker image is larger than before, as it now includes the shared library variants of these system packages, which for Ubuntu is rather large. It is possible to use a different Linux distribution to reduce this size (see the meson-rework-alpine branch), but it's not clear whether that is worth leaving the familiar environment of a Debian-based image.

(@SteveRas: I added you as a reviewer here more as an FYI than as a hard request on your time.)

derekkingston commented 6 years ago

It appears that this requires a local install of google test now? Previously we downloaded and compiled it as part of UxAS.

acfoltzer commented 6 years ago

Hmm, it should be using Meson's built-in wrap if it doesn't find it locally. I'll investigate and revert if that's not happening