blob: a84a503f7d7d42a02bfed4ee9f2b75e9590ac389 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
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 )
|