Drop bogus dependencies, add implicit. --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,25 +11,32 @@ include(ECMInstallIcons) include(ECMAddTests) -find_package(Qt5Widgets REQUIRED) +# Works without this explicit declaration but it ought to be here for correctness +find_package( SQLite3 REQUIRED ) -find_package( KF5 ${KF5_MIN_VERSION} REQUIRED - Auth - Config - ConfigWidgets - CoreAddons - I18n - IconThemes - ItemModels - ItemViews +# These are actually all deps of other things +find_package( Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS + Core + Gui + Widgets +) + +find_package( KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS + # These are all required directly and not provided by any dependencies. It "compiles and works" on the development system with just these KIO Notifications ThreadWeaver TextWidgets - Su - WidgetsAddons - WindowSystem - XmlGui + # Required in link step + XmlGui # MainWindow is XmlGuiWindow + ItemViews # TreeWidgetSearchLine + # These seem to be provided by deps, but should be direct deps too + ConfigWidgets + I18n # i18n(QStr) + Config # Config dialogs + Auth # KAuthExecuteJob &c. + CoreAddons # AboutData? Job Process User? + WidgetsAddons # Font(Chooser|Requester)? PageWidget? MessageBox ... ) # --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -102,25 +102,37 @@ kde_enable_exceptions() target_link_libraries( kuroo + # These are all used directly and not provided by any other dependency. It "compiles and works" on the development system with just these + KF5::KIOCore + KF5::Notifications + KF5::ThreadWeaver + KF5::TextWidgets + KF5::XmlGui + sqlite3 # TODO: use some sort of ORM maybe find_package? + KF5::ItemViews + # Builds without these specified, but they should be necessary Qt5::Core + Qt5::Gui + Qt5::Widgets KF5::Auth + KF5::AuthCore KF5::ConfigCore KF5::ConfigGui + KF5::ConfigWidgets KF5::CoreAddons KF5::I18n - KF5::ItemViews - KF5::KIOCore - KF5::Notifications - KF5::ThreadWeaver - KF5::TextWidgets KF5::WidgetsAddons - KF5::WindowSystem - KF5::XmlGui - sqlite3 ) add_executable( kuroo_helper auth/kuroohelper.cpp ) -target_link_libraries( kuroo_helper Qt5::Core KF5::KIOCore KF5::Auth KF5::CoreAddons ) +target_link_libraries( kuroo_helper + # These are all used directly and not provided by any other dependency. It "compiles and works" on the development system with just these + KF5::KIOCore + KF5::Auth + # Builds without explicit declaration, but these make sense + Qt5::Core + KF5::CoreAddons # KProcess +) install( TARGETS kuroo_helper DESTINATION ${KAUTH_HELPER_INSTALL_DIR} ) kauth_install_helper_files( kuroo_helper org.gentoo.portage.kuroo root ) kauth_install_actions( org.gentoo.portage.kuroo auth/org.gentoo.portage.kuroo.actions ) @@ -139,6 +151,6 @@ ########### install ############### install( TARGETS kuroo ${INSTALL_TARGETS_DEFAULT_ARGS} ) #install( FILES DESTINATION ${DATA_INSTALL_DIR}/autostart ) -install( FILES config/kurooconfig.kcfg DESTINATION ${KCFG_INSTALL_DIR} ) +install( FILES config/kurooconfig.kcfg DESTINATION ${KDE_INSTALL_KCFGDIR} ) install( FILES kurooui.rc DESTINATION ${KXMLGUI_INSTALL_DIR}/kuroo ) install( FILES kuroo.desktop DESTINATION ${XDG_APPS_INSTALL_DIR}/System )