Allow forced disabling of features instead of relying on pkg-config

So-called "automagic" behaviour is considered unhelpful by
distributions. A user may unintentionally build Moonlight with VDPAU
support simply because they had that library installed, only for the
whole application to break when they uninstall the library later. This
could happen on any distribution, but it should especially be avoided on
source-based distributions, where the user would not expect the package
manager to encounter such issues.

This commit is best viewed without whitespace changes.
This commit is contained in:
James Le Cuirot 2023-06-03 17:51:00 +01:00 committed by Cameron Gutman
parent 7a719aa886
commit 8b6df34d8b

View file

@ -65,51 +65,73 @@ unix:!macx {
CONFIG += link_pkgconfig CONFIG += link_pkgconfig
PKGCONFIG += openssl sdl2 SDL2_ttf opus PKGCONFIG += openssl sdl2 SDL2_ttf opus
packagesExist(libavcodec) { !disable-ffmpeg {
PKGCONFIG += libavcodec libavutil packagesExist(libavcodec) {
CONFIG += ffmpeg PKGCONFIG += libavcodec libavutil
CONFIG += ffmpeg
packagesExist(libva) { !disable-libva {
packagesExist(libva-x11) { packagesExist(libva) {
CONFIG += libva-x11 !disable-x11 {
packagesExist(libva-x11) {
CONFIG += libva-x11
}
}
!disable-wayland {
packagesExist(libva-wayland) {
CONFIG += libva-wayland
}
}
!disable-libdrm {
packagesExist(libva-drm) {
CONFIG += libva-drm
}
}
CONFIG += libva
}
} }
packagesExist(libva-wayland) {
CONFIG += libva-wayland !disable-libvdpau {
packagesExist(vdpau) {
CONFIG += libvdpau
}
} }
packagesExist(libva-drm) {
CONFIG += libva-drm !disable-mmal {
packagesExist(mmal) {
PKGCONFIG += mmal
CONFIG += mmal
}
}
!disable-libdrm {
packagesExist(libdrm) {
PKGCONFIG += libdrm
CONFIG += libdrm
}
}
!disable-cuda {
packagesExist(ffnvcodec) {
PKGCONFIG += ffnvcodec
CONFIG += cuda
}
} }
CONFIG += libva
} }
packagesExist(vdpau) { !disable-wayland {
CONFIG += libvdpau packagesExist(wayland-client) {
CONFIG += wayland
PKGCONFIG += wayland-client
}
} }
packagesExist(mmal) { !disable-x11 {
PKGCONFIG += mmal packagesExist(x11) {
CONFIG += mmal DEFINES += HAS_X11
PKGCONFIG += x11
}
} }
packagesExist(libdrm) {
PKGCONFIG += libdrm
CONFIG += libdrm
}
packagesExist(ffnvcodec) {
PKGCONFIG += ffnvcodec
CONFIG += cuda
}
}
packagesExist(wayland-client) {
CONFIG += wayland
PKGCONFIG += wayland-client
}
packagesExist(x11) {
DEFINES += HAS_X11
PKGCONFIG += x11
} }
} }
win32 { win32 {