File tree 4 files changed +61
-0
lines changed
4 files changed +61
-0
lines changed Original file line number Diff line number Diff line change @@ -21,6 +21,7 @@ set(CLASSES
21
21
PrintSupportPluginsDeployer
22
22
TextToSpeechPluginsDeployer
23
23
TlsBackendsDeployer
24
+ WaylandcompositorPluginsDeployer
24
25
)
25
26
26
27
# TODO: CMake <= 3.7 (at least!) doesn't allow for using OBJECT libraries with target_link_libraries
Original file line number Diff line number Diff line change 17
17
#include " WebEnginePluginsDeployer.h"
18
18
#include " XcbglIntegrationPluginsDeployer.h"
19
19
#include " TlsBackendsDeployer.h"
20
+ #include " WaylandcompositorPluginsDeployer.h"
20
21
21
22
using namespace linuxdeploy ::plugin::qt;
22
23
using namespace linuxdeploy ::core::appdir;
@@ -103,6 +104,10 @@ std::vector<std::shared_ptr<PluginsDeployer>> PluginsDeployerFactory::getDeploye
103
104
return {getInstance<TextToSpeechPluginsDeployer>(moduleName)};
104
105
}
105
106
107
+ if (moduleName == " waylandcompositor" ) {
108
+ return {getInstance<WaylandcompositorPluginsDeployer>(moduleName)};
109
+ }
110
+
106
111
// fallback
107
112
return {getInstance<BasicPluginsDeployer>(moduleName)};
108
113
}
Original file line number Diff line number Diff line change
1
+ // system headers
2
+ #include < filesystem>
3
+
4
+ // library headers
5
+ #include < linuxdeploy/core/log.h>
6
+
7
+ // local headers
8
+ #include " WaylandcompositorPluginsDeployer.h"
9
+
10
+ using namespace linuxdeploy ::plugin::qt;
11
+ using namespace linuxdeploy ::core::log;
12
+
13
+ namespace fs = std::filesystem;
14
+
15
+ bool WaylandcompositorPluginsDeployer::deploy () {
16
+ // calling the default code is optional, but it won't hurt for now
17
+ if (!BasicPluginsDeployer::deploy ())
18
+ return false ;
19
+
20
+ ldLog () << " Deploying waylandcompositor plugin" << std::endl;
21
+
22
+ for (fs::directory_iterator i (qtPluginsPath / " wayland-decoration-client" ); i != fs::directory_iterator (); ++i) {
23
+ if (!appDir.deployLibrary (*i, appDir.path () / " usr/plugins/wayland-decoration-client/" ))
24
+ return false ;
25
+ }
26
+
27
+ for (fs::directory_iterator i (qtPluginsPath / " wayland-graphics-integration-client" ); i != fs::directory_iterator (); ++i) {
28
+ if (!appDir.deployLibrary (*i, appDir.path () / " usr/plugins/wayland-graphics-integration-client/" ))
29
+ return false ;
30
+ }
31
+
32
+ for (fs::directory_iterator i (qtPluginsPath / " wayland-shell-integration" ); i != fs::directory_iterator (); ++i) {
33
+ if (!appDir.deployLibrary (*i, appDir.path () / " usr/plugins/wayland-shell-integration/" ))
34
+ return false ;
35
+ }
36
+
37
+ return true ;
38
+ }
Original file line number Diff line number Diff line change
1
+ #pragma once
2
+
3
+ #include " BasicPluginsDeployer.h"
4
+
5
+ namespace linuxdeploy {
6
+ namespace plugin {
7
+ namespace qt {
8
+ class WaylandcompositorPluginsDeployer : public BasicPluginsDeployer {
9
+ public:
10
+ // we can just use the base class's constructor
11
+ using BasicPluginsDeployer::BasicPluginsDeployer;
12
+
13
+ bool deploy () override ;
14
+ };
15
+ }
16
+ }
17
+ }
You can’t perform that action at this time.
0 commit comments