to get drop shadows working the style needs to be built with x11-xcb apparently. unfortunately it being missing during the cmake step is not reported in a suitable fashion. namely it does not show up in the cmake summary but rather the wall of random status output before the summary. it would be very very very awesome if it could be made to show up in the summary as otherwise it goes unnoticed (as was the case in Kubuntu for example). also since the summary output is more or less a common format it's where one would apply computational parsing to throw warnings on missing dependencies, which is also bypassed by not having it listed in the summary. example of current output: [...] -- Found automoc4: /usr/bin/automoc4 -- Found PkgConfig: /usr/bin/pkg-config (found version "0.28") -- checking for modules 'xcb;x11-xcb' -- package 'x11-xcb' not found -- -- The following OPTIONAL packages have been found: * X11 * Threads * Perl -- The following REQUIRED packages have been found: * Qt4 * Automoc4 * Phonon (required version >= 4.3.80) * KDE4Internal * KDE4 * PkgConfig * Orion theme for GTK 2 and 3 will be set by gtkbreeze kconf_update binary, please install or add a runtime dependency to packages. https://github.com/shimmerproject/Orion -- Configuring done Reproducible: Always
Also affects Oxygen see bug #347419
Hi Harald, The issue here is that the kde4 build uses pkgconfig to look for xcb, because the nice CMake FindPackage(XCB) stuff, is not available (as far as I know) for kde4 Then, in turn, I do not know the equivalent to set_package_properties for stuff found with pkg_check_modules(). Anyone with enough CMake FOO ? Hugo
It's available, you just have to add a custom cmake finder to the source and set your CMAKE_MODULE_PATH accordingly http://lxr.kde.org/search?_filestring=&_string=Try+to+find+libX11-xcb Doing that would certainly be the most proper solution here. For the purpose of getting the missing thing show up in the summary though you could simply use add_feature_info where you'd use set_package_properties. Something like: add_feature_info("XCB-X11" XCB_FOUND "Required to pass style properties to native Windows on X11 Platform") probably would do the trick. It's less accurate than doing it via proper package handling but it will show up in the summary all the same.
(In reply to Harald Sitter from comment #3) > It's available, you just have to add a custom cmake finder to the source and > set your CMAKE_MODULE_PATH accordingly > http://lxr.kde.org/search?_filestring=&_string=Try+to+find+libX11-xcb > Doing that would certainly be the most proper solution here. > > For the purpose of getting the missing thing show up in the summary though > you could simply use add_feature_info where you'd use > set_package_properties. > Something like: > add_feature_info("XCB-X11" XCB_FOUND "Required to pass style properties to > native Windows on X11 Platform") > probably would do the trick. It's less accurate than doing it via proper > package handling but it will show up in the summary all the same. Hey thanks for the hints ! I would rather not add a copy of FindXCB.cmake file, since it is already provided by ECM, and used by breeze (and oxygen) when compiled against KF5. The issue only happens when compiling against kde4, since we don't use ECM in this mode. So I guess I'll just add the add_feature_info line (and test).
Sounds good to me.
Git commit b14b203467bb8248e8e5cc68b9d4d152fb09784f by Hugo Pereira Da Costa. Committed on 21/05/2015 at 15:36. Pushed by hpereiradacosta into branch 'master'. Added feature summary for xcb and x11-xcb M +2 -0 kstyle/CMakeLists.txt http://commits.kde.org/breeze/b14b203467bb8248e8e5cc68b9d4d152fb09784f
Git commit 25e1fbd0f9b35955c837dbe659d4ed661fef51dd by Hugo Pereira Da Costa. Committed on 21/05/2015 at 15:33. Pushed by hpereiradacosta into branch 'master'. Added feature summary for xcb and x11-xcb M +2 -0 CMakeLists.txt http://commits.kde.org/oxygen/25e1fbd0f9b35955c837dbe659d4ed661fef51dd