<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div dir="auto" style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class="">Got it.</div><div class=""><br class=""></div><div class="">I’ve now managed to get pyqtdeploy to use my sysroot component plugin to add my app’s extension module source files to the qmake project. Is there any way to tell the ExtensionModule that there is a sip file so it will do what sip-build does by generating the C++ sources and setting up C++ flags correctly? What about generating moc files for .h headers?</div><div class=""><br class=""></div><div class="">My extension is starting to get busy with those mangled sip-build file names, and it’s also complaining about sip.h, and I imagine more things if I fix those problems with manual paths.</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><div style="color: rgb(54, 54, 54); background-color: rgb(255, 255, 255); font-family: Menlo, Monaco, "Courier New", monospace; line-height: 18px; white-space: pre;" class=""><div class=""><span style="color: rgb(63, 151, 223);" class="">class</span> <span style="color: rgb(70, 224, 192);" class="">VedanaComponent</span>(<span style="color: rgb(70, 224, 192);" class="">Component</span>):</div><div class="">    <span style="color: rgb(162, 86, 55);" class="">""" The vedana module component. """</span></div><br class=""><div class="">    must_install_from_source = <span style="color: rgb(63, 151, 223);" class="">False</span></div><div class="">    preinstalls = [<span style="color: rgb(162, 86, 55);" class="">'Python'</span>, <span style="color: rgb(162, 86, 55);" class="">'PyQt'</span>, <span style="color: rgb(162, 86, 55);" class="">'Qt'</span>, <span style="color: rgb(162, 86, 55);" class="">'SIP'</span>]</div><div class="">    provides = {</div><div class="">        <span style="color: rgb(162, 86, 55);" class="">'_pkdiagram'</span>:</div><div class="">            ExtensionModule(</div><div class="">                <span style="color: rgb(9, 89, 132);" class="">deps</span>=<span style="color: rgb(162, 86, 55);" class="">'PyQt:PyQt5.QtWidgets'</span>,</div><div class="">                <span style="color: rgb(9, 89, 132);" class="">source</span>=[</div><div class="">                    <span style="color: rgb(162, 86, 55);" class="">"../../../_pkdiagram/unsafearea.cpp"</span>,</div><div class="">                    <span style="color: rgb(162, 86, 55);" class="">"../../../_pkdiagram/_pkdiagram.cpp"</span>,</div><div class="">                    <span style="color: rgb(162, 86, 55);" class="">"../../../_pkdiagram/_pkdiagram_mac.mm"</span>,</div><div class="">                    <span style="color: rgb(162, 86, 55);" class="">"../../../_pkdiagram/build/_pkdiagram/moc_unsafearea.cpp"</span>,</div><div class="">                    <span style="color: rgb(162, 86, 55);" class="">"../../../_pkdiagram/build/_pkdiagram/moc__pkdiagram.cpp"</span>,</div><div class="">                    <span style="color: rgb(162, 86, 55);" class="">"../../../_pkdiagram/build/_pkdiagram/sip_pkdiagramAppFilter.cpp"</span>,</div><div class="">                    <span style="color: rgb(162, 86, 55);" class="">"../../../_pkdiagram/build/_pkdiagram/sip_pkdiagramcmodule.cpp"</span>,</div><div class="">                    <span style="color: rgb(162, 86, 55);" class="">"../../../_pkdiagram/build/_pkdiagram/sip_pkdiagramCUtil.cpp"</span>,</div><div class="">                    <span style="color: rgb(162, 86, 55);" class="">"../../../_pkdiagram/build/_pkdiagram/sip_pkdiagramFDDocument.cpp"</span>,</div><div class="">                    <span style="color: rgb(162, 86, 55);" class="">"../../../_pkdiagram/build/_pkdiagram/sip_pkdiagramPathItemBase.cpp"</span>,</div><div class="">                    <span style="color: rgb(162, 86, 55);" class="">"../../../_pkdiagram/build/_pkdiagram/sip_pkdiagramPathItemDelegate.cpp"</span>,</div><div class="">                    <span style="color: rgb(162, 86, 55);" class="">"../../../_pkdiagram/build/_pkdiagram/sip_pkdiagramPersonDelegate.cpp"</span>,</div><div class="">                    <span style="color: rgb(162, 86, 55);" class="">"../../../_pkdiagram/build/_pkdiagram/sip_pkdiagramQMap0100QString0100QString.cpp"</span>,</div><div class="">                ],</div><div class="">                <span style="color: rgb(9, 89, 132);" class="">defines</span>=[ <span style="color: rgb(162, 86, 55);" class="">"PK_DEBUG_BUILD=0"</span> ],</div><div class="">                <span style="color: rgb(9, 89, 132);" class="">qmake_qt</span>=[ <span style="color: rgb(162, 86, 55);" class="">'gui'</span>, <span style="color: rgb(162, 86, 55);" class="">'widgets'</span> ]</div><div class="">            )</div><div class="">    }</div><br class=""><div class="">    <span style="color: rgb(63, 151, 223);" class="">def</span> <span style="color: rgb(99, 99, 36);" class="">get_archive_name</span>(<span style="color: rgb(9, 89, 132);" class="">self</span>):</div><div class="">        <span style="color: rgb(157, 78, 150);" class="">return</span> <span style="color: rgb(162, 86, 55);" class="">''</span></div><br class=""><div class="">    <span style="color: rgb(63, 151, 223);" class="">def</span> <span style="color: rgb(99, 99, 36);" class="">install</span>(<span style="color: rgb(9, 89, 132);" class="">self</span>):</div><div class="">        <span style="color: rgb(162, 86, 55);" class="">""" Install for the target. """</span></div></div></div><div><br class=""><blockquote type="cite" class=""><div class="">On Sep 3, 2020, at 9:28 AM, Phil Thompson <<a href="mailto:phil@riverbankcomputing.com" class="">phil@riverbankcomputing.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Look at the plugins that are bundled with pyqtdeploy.<br class=""><br class="">On 03/09/2020 17:51, Patrick Stinson wrote:<br class=""><blockquote type="cite" class="">Ok. Is there an example? I’m reading the docs and trying to imagine<br class="">how the component plugin will look if there is a pure C++ sip<br class="">extension in the app source tree and if there is a mixed C++ / Python<br class="">package in the app source tree. I have both.<br class=""><blockquote type="cite" class="">On Sep 2, 2020, at 11:59 PM, Phil Thompson <<a href="mailto:phil@riverbankcomputing.com" class="">phil@riverbankcomputing.com</a>> wrote:<br class="">On 03/09/2020 05:33, Patrick Stinson wrote:<br class=""><blockquote type="cite" class="">My app project contains two custom sip5 modules that build<br class="">successfully on their own. How are these added to the pyqtdeploy<br class="">project? Is pyqtdeploy supposed to automatically pick them up somehow?<br class="">I don’t see them listed under “Other Packages”<br class=""></blockquote>You have to write a plugin...<br class=""><a href="https://www.riverbankcomputing.com/static/Docs/pyqtdeploy/sysroot.html#writing-a-component-plugin" class="">https://www.riverbankcomputing.com/static/Docs/pyqtdeploy/sysroot.html#writing-a-component-plugin</a><br class="">Phil<br class=""></blockquote></blockquote></div></div></blockquote></div><br class=""></div></body></html>