From e67347f6ad9ac7f1b1c601427e75266bb7efda65 Mon Sep 17 00:00:00 2001 From: Ian Hattendorf Date: Mon, 18 Feb 2019 21:11:18 -0700 Subject: [PATCH] Gate backlight module behind libudev availability --- include/factory.hpp | 4 +++- meson.build | 8 ++++++-- meson_options.txt | 1 + src/factory.cpp | 8 +++++--- 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/include/factory.hpp b/include/factory.hpp index 8b4f48d..f496983 100644 --- a/include/factory.hpp +++ b/include/factory.hpp @@ -16,10 +16,12 @@ #ifdef HAVE_LIBNL #include "modules/network.hpp" #endif +#ifdef HAVE_LIBUDEV +#include "modules/backlight.hpp" +#endif #ifdef HAVE_LIBPULSE #include "modules/pulseaudio.hpp" #endif -#include "modules/backlight.hpp" #include "modules/custom.hpp" namespace waybar { diff --git a/meson.build b/meson.build index 685cea5..6c9eeab 100644 --- a/meson.build +++ b/meson.build @@ -55,7 +55,7 @@ sigcpp = dependency('sigc++-2.0') libnl = dependency('libnl-3.0', required: get_option('libnl')) libnlgen = dependency('libnl-genl-3.0', required: get_option('libnl')) libpulse = dependency('libpulse', required: get_option('pulseaudio')) -libudev = dependency('libudev') +libudev = dependency('libudev', required: get_option('libudev')) src_files = files( 'src/factory.cpp', @@ -65,7 +65,6 @@ src_files = files( 'src/modules/clock.cpp', 'src/modules/custom.cpp', 'src/modules/cpu.cpp', - 'src/modules/backlight.cpp', 'src/main.cpp', 'src/bar.cpp', 'src/client.cpp' @@ -101,6 +100,11 @@ if dbusmenu_gtk.found() ) endif +if libudev.found() + add_project_arguments('-DHAVE_LIBUDEV', language: 'cpp') + src_files += 'src/modules/backlight.cpp' +endif + subdir('protocol') executable( diff --git a/meson_options.txt b/meson_options.txt index 67fa547..4c2f03a 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1,4 +1,5 @@ option('libnl', type: 'feature', value: 'auto', description: 'Enable libnl support for network related features') +option('libudev', type: 'feature', value: 'auto', description: 'Enable libudev support for udev related features') option('pulseaudio', type: 'feature', value: 'auto', description: 'Enable support for pulseaudio') option('dbusmenu-gtk', type: 'feature', value: 'auto', description: 'Enable support for tray') option('out', type: 'string', value : '/', description: 'output prefix directory') diff --git a/src/factory.cpp b/src/factory.cpp index 1f7b41a..1fe0867 100644 --- a/src/factory.cpp +++ b/src/factory.cpp @@ -43,14 +43,16 @@ waybar::IModule* waybar::Factory::makeModule(const std::string &name) const return new waybar::modules::Network(id, config_[name]); } #endif + #ifdef HAVE_LIBUDEV + if (ref == "backlight") { + return new waybar::modules::Backlight(id, config_[name]); + } + #endif #ifdef HAVE_LIBPULSE if (ref == "pulseaudio") { return new waybar::modules::Pulseaudio(id, config_[name]); } #endif - if (ref == "backlight") { - return new waybar::modules::Backlight(id, config_[name]); - } if (ref.compare(0, 7, "custom/") == 0 && ref.size() > 7) { return new waybar::modules::Custom(ref.substr(7), config_[name]); }