gcc-5 seemed to be having issues trying to link with the components
separated out into a separate static library, so for now it's easier to
just fall back on building all components together with main.cpp.
This is a spurious failure: it only fails out if the xpp headers aren't
generated before the drawtypes, modules, or utils directories begin
building. By depending on xpp explicitly, this ensures that xpp's
headers are generated first.
Modules and other features that require optional libraries are now
dynamically loaded on the construction of the controller via dlopen().
This allows polybar to be built with support for all of the features on
one machine, but gracefully fall back and disable those features on
machines where the required optional shared libraries are not found.
Now all the tokens in the memory module also have ramp and bar counterparts.
These can be used exactly the same as `bar-used` and `ramp-used`, they are named `<bar-swap-used>`, `<bar-swap-free>`, `<ramp-swap-used>`, and `<ramp-swap-free>`
From commit 880896c6f4814f4c7798355a652dc6167be2b75f in googletest cmake
test configuration fails with errors like
CMake Error: install(EXPORT "gtestConfigInternal" ...) includes target
"gtest" which requires target "i3ipc++" that is not in the export set.
The issue was that link_libraries also affected the googletest internal
targets that came after it making the whole thing fail.
This could also have been solved by moving link_libraries after the
configuration of googletest but according to the cmake documentation [1]
target_link_libraries should be prefered over link_libraries anyways.
[1]: https://cmake.org/cmake/help/latest/command/link_libraries.htmlFixes#1393
* extend build.sh
- add option flags;
- among others, flag --auto allows executing
script in a non-interactive mode, where all
unset options are defaulted automaticaly;
- add help/usage;
* post-review: --pulse-audio -> --pulseaudio
* post-review: do not install config by default
Trimming the quotes in labels and the date module are not needed at all,
because surrounding quotes are removed when loading the values from the
config.
Removing the quotes in the builder also doesn't seem to serve any
purpose at all.