File tree Expand file tree Collapse file tree 4 files changed +61
-0
lines changed Expand file tree Collapse file tree 4 files changed +61
-0
lines changed Original file line number Diff line number Diff line change @@ -21,6 +21,7 @@ set(CLASSES
2121 PrintSupportPluginsDeployer
2222 TextToSpeechPluginsDeployer
2323 TlsBackendsDeployer
24+ WaylandcompositorPluginsDeployer
2425)
2526
2627# 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 1717#include " WebEnginePluginsDeployer.h"
1818#include " XcbglIntegrationPluginsDeployer.h"
1919#include " TlsBackendsDeployer.h"
20+ #include " WaylandcompositorPluginsDeployer.h"
2021
2122using namespace linuxdeploy ::plugin::qt;
2223using namespace linuxdeploy ::core::appdir;
@@ -103,6 +104,10 @@ std::vector<std::shared_ptr<PluginsDeployer>> PluginsDeployerFactory::getDeploye
103104 return {getInstance<TextToSpeechPluginsDeployer>(moduleName)};
104105 }
105106
107+ if (moduleName == " waylandcompositor" ) {
108+ return {getInstance<WaylandcompositorPluginsDeployer>(moduleName)};
109+ }
110+
106111 // fallback
107112 return {getInstance<BasicPluginsDeployer>(moduleName)};
108113}
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