<div dir="ltr"><div style class="markdown-here-wrapper"><p style="margin:1.2em 0px!important">Hi, i’m currently building a plasmoid using CMake:</p>
<p style="margin:1.2em 0px!important">the directory structure is (simplified):</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em 0px"><code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline;white-space:pre;overflow:auto;border-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block!important">org.kde.plasma.steam/
→ contents/ui/main.qml
→ metadata.dektop

plugin/
→ qmldir
→ backend.cpp
</code></pre><p style="margin:1.2em 0px!important">i build in a way to create the expected layout for QML imports:</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em 0px"><code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline;white-space:pre;overflow:auto;border-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block!important;display:block;overflow-x:auto;padding:0.5em;background:none repeat scroll 0% 0% rgb(255,255,255);color:rgb(0,0,0)" class="hljs language-cmake"><span style="color:rgb(99,99,99)" class="hljs-comment"># build lib and copy "qmldir" to "build/org/kde/plasma/private/steam"</span>
<span style="color:rgb(49,130,189)" class="hljs-keyword">set</span>(CMAKE_LIBRARY_OUTPUT_DIRECTORY <span style="color:rgb(136,136,255)" class="hljs-envvar">${PROJECT_BINARY_DIR}</span>/org/kde/plasma/private/steam)

<span style="color:rgb(49,130,189)" class="hljs-keyword">add_custom_command</span>(TARGET steamplugin PRE_BUILD
                   COMMAND <span style="color:rgb(136,136,255)" class="hljs-envvar">${CMAKE_COMMAND}</span> -E copy <span style="color:rgb(136,136,255)" class="hljs-envvar">${CMAKE_SOURCE_DIR}</span>/plugin/qmldir $<TARGET_FILE_DIR:steamplugin>)

<span style="color:rgb(49,130,189)" class="hljs-keyword">target_link_libraries</span>(steamplugin [...])
</code></pre>
<p style="margin:1.2em 0px!important">…after which i also have the following tree:</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em 0px"><code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline;white-space:pre;overflow:auto;border-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block!important">build/org/kde/plasma/private/steam/→ qmldir
→ libsteamplugin.so
</code></pre><p style="margin:1.2em 0px!important">now i want to run it from the directory we’re in for testing purposes:</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em 0px"><code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline;white-space:pre;overflow:auto;border-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block!important;display:block;overflow-x:auto;padding:0.5em;background:none repeat scroll 0% 0% rgb(255,255,255);color:rgb(0,0,0)" class="hljs language-bash">QML2_IMPORT_PATH=<span style="color:rgb(117,107,177)" class="hljs-string">"<span class="hljs-variable">$CWD</span>/build"</span> plasmawindowed org.kde.plasma.steam
</code></pre>
<p style="margin:1.2em 0px!important">but all i get is:</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em 0px"><code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline;white-space:pre;overflow:auto;border-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block!important">Trying to open ksycoca from "/home/phil/.cache/ksycoca5"
Unable to load applet "org.kde.plasma.steam" with arguments ()
</code></pre><p style="margin:1.2em 0px!important">why? doesn’t plasmawindowed try to load from the current directory?</p>
<p style="margin:1.2em 0px!important">what directoris <em>does</em> plasma try to find its plasmoids in?</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em 0px"><code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline;white-space:pre;overflow:auto;border-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block!important;display:block;overflow-x:auto;padding:0.5em;background:none repeat scroll 0% 0% rgb(255,255,255);color:rgb(0,0,0)" class="hljs language-bash">/usr/share/plasma/plasmoids/
~/.share/plasma/plasmoids/
<span style="color:rgb(99,99,99)" class="hljs-comment"># more?</span>
</code></pre>
<p style="margin:1.2em 0px!important">what environment variable is responsible? do i need to set that for plasmawindowed to work?</p>
<p style="margin:1.2em 0px!important">when installing via plasmapkg2, i have a .desktop file: shouldn’t plasmawindowed make this unnecessary or do i need it? if so, can i create it via cmake during build, not install?</p>
<p style="margin:1.2em 0px!important">where are the cmake docs for KDE stuff like plasma_install_package? i want docs, not commits when i google a command name!</p>
<p style="margin:1.2em 0px!important">Best regards,<br>Philipp</p>
<div title="MDH:PGRpdj48ZGl2PjxkaXY+PGRpdj48ZGl2PjxkaXY+PGRpdj48ZGl2PjxkaXY+PGRpdj48ZGl2Pjxk
aXY+PGRpdj48ZGl2PjxkaXY+PGRpdj48ZGl2PjxkaXY+PGRpdj48ZGl2PjxkaXY+SGksIGnigJlt
IGN1cnJlbnRseSBidWlsZGluZyBhIHBsYXNtb2lkIHVzaW5nIENNYWtlOjxicj48YnI+PC9kaXY+
dGhlIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgaXMgKHNpbXBsaWZpZWQpOjxicj48YnI+YGBgPGJyPm9y
Zy5rZGUucGxhc21hLnN0ZWFtLzxicj7ihpIgY29udGVudHMvdWkvbWFpbi5xbWw8YnI+PC9kaXY+
PC9kaXY+PC9kaXY+4oaSIG1ldGFkYXRhLmRla3RvcDxicj48YnI+PC9kaXY+cGx1Z2luLzxicj48
L2Rpdj7ihpIgcW1sZGlyPGJyPjwvZGl2PuKGkiBiYWNrZW5kLmNwcDxicj5gYGA8YnI+PGJyPjwv
ZGl2PmkgYnVpbGQgaW4gYSB3YXkgdG8gY3JlYXRlIHRoZSBleHBlY3RlZCBsYXlvdXQgZm9yIFFN
TCBpbXBvcnRzOjxicj48YnI+YGBgY21ha2U8YnI+IyBidWlsZCBsaWIgYW5kIGNvcHkgInFtbGRp
ciIgdG8gImJ1aWxkL29yZy9rZGUvcGxhc21hL3ByaXZhdGUvc3RlYW0iPGJyPnNldChDTUFLRV9M
SUJSQVJZX09VVFBVVF9ESVJFQ1RPUlkgJHtQUk9KRUNUX0JJTkFSWV9ESVJ9L29yZy9rZGUvcGxh
c21hL3ByaXZhdGUvc3RlYW0pPGJyPjxicj5hZGRfY3VzdG9tX2NvbW1hbmQoVEFSR0VUIHN0ZWFt
cGx1Z2luIFBSRV9CVUlMRDxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IC1FIGNvcHkgJHtDTUFLRV9T
T1VSQ0VfRElSfS9wbHVnaW4vcW1sZGlyICQmbHQ7VEFSR0VUX0ZJTEVfRElSOnN0ZWFtcGx1Z2lu
Jmd0Oyk8ZGl2Pjxicj50YXJnZXRfbGlua19saWJyYXJpZXMoc3RlYW1wbHVnaW4gWy4uLl0pPGJy
PjwvZGl2PmBgYDxicj48YnI+PC9kaXY+PGRpdj7igKZhZnRlciB3aGljaCBpIGFsc28gaGF2ZSB0
aGUgZm9sbG93aW5nIHRyZWU6PGJyPjwvZGl2PjxkaXY+PGJyPmBgYDwvZGl2PmJ1aWxkL29yZy9r
ZGUvcGxhc21hL3ByaXZhdGUvc3RlYW0vPC9kaXY+4oaSIHFtbGRpcjxicj48L2Rpdj7ihpIgbGli
c3RlYW1wbHVnaW4uc288YnI+YGBgPGJyPjxicj48L2Rpdj5ub3cgaSB3YW50IHRvIHJ1biBpdCBm
cm9tIHRoZSBkaXJlY3Rvcnkgd2XigJlyZSBpbiBmb3IgdGVzdGluZyBwdXJwb3Nlczo8YnI+PGJy
PmBgYGJhc2g8YnI+UU1MMl9JTVBPUlRfUEFUSD0iJENXRC9idWlsZCIgcGxhc21hd2luZG93ZWQg
b3JnLmtkZS5wbGFzbWEuc3RlYW08YnI+YGBgPGJyPjxicj48L2Rpdj5idXQgYWxsIGkgZ2V0IGlz
Ojxicj48YnI+PC9kaXY+YGBgPGJyPlRyeWluZyB0byBvcGVuIGtzeWNvY2EgZnJvbSAiL2hvbWUv
cGhpbC8uY2FjaGUva3N5Y29jYTUiPGJyPlVuYWJsZSB0byBsb2FkIGFwcGxldCAib3JnLmtkZS5w
bGFzbWEuc3RlYW0iIHdpdGggYXJndW1lbnRzICgpPGJyPmBgYDxicj48YnI+PC9kaXY+d2h5PyBk
b2VzbuKAmXQgcGxhc21hd2luZG93ZWQgdHJ5IHRvIGxvYWQgZnJvbSB0aGUgY3VycmVudCBkaXJl
Y3Rvcnk/PGJyPjxicj48L2Rpdj53aGF0IGRpcmVjdG9yaXMgKmRvZXMqIHBsYXNtYSB0cnkgdG8g
ZmluZCBpdHMgcGxhc21vaWRzIGluPzxicj48YnI+YGBgYmFzaDxicj4vdXNyL3NoYXJlL3BsYXNt
YS9wbGFzbW9pZHMvPGJyPn4vLnNoYXJlL3BsYXNtYS9wbGFzbW9pZHMvPC9kaXY+PGRpdj4jIG1v
cmU/PGJyPjwvZGl2PjxkaXY+YGBgPGJyPjxicj48L2Rpdj53aGF0IGVudmlyb25tZW50IHZhcmlh
YmxlIGlzIHJlc3BvbnNpYmxlPyBkbyBpIG5lZWQgdG8gc2V0IHRoYXQgZm9yIHBsYXNtYXdpbmRv
d2VkIHRvIHdvcms/PGJyPjxicj48L2Rpdj53aGVuIGluc3RhbGxpbmcgdmlhIHBsYXNtYXBrZzIs
IGkgaGF2ZSBhIC5kZXNrdG9wIGZpbGU6IHNob3VsZG7igJl0IHBsYXNtYXdpbmRvd2VkIG1ha2Ug
dGhpcyB1bm5lY2Vzc2FyeSBvciBkbyBpIG5lZWQgaXQ/IGlmIHNvLCBjYW4gaSBjcmVhdGUgaXQg
dmlhIGNtYWtlIGR1cmluZyBidWlsZCwgbm90IGluc3RhbGw/PGJyPjxicj48L2Rpdj53aGVyZSBh
cmUgdGhlIGNtYWtlIGRvY3MgZm9yIEtERSBzdHVmZiBsaWtlIHBsYXNtYV9pbnN0YWxsX3BhY2th
Z2U/IGkgd2FudCBkb2NzLCBub3QgY29tbWl0cyB3aGVuIGkgZ29vZ2xlIGEgY29tbWFuZCBuYW1l
ITxicj48YnI+PC9kaXY+QmVzdCByZWdhcmRzLDxicj48L2Rpdj5QaGlsaXBwPGJyPg==" style="height:0;font-size:0em;padding:0;margin:0">​</div></div></div>