<table><tr><td style="">shaheed added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D7736" rel="noreferrer">View Revision</a></tr></table><br /><div><div><p>My comments here are phrased as if this SIP-based approach was the solution eventually adopted (cppyy might be different). With that said...</p>

<p>This...</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>(this thing is huge).</p></blockquote>

<p>and this...</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>One question: would it be possible to have the bindings per-framework, rather than a single, long list? This is also what made PyKDE4 unwieldy. IOW, each Framework should ship their (optional) bindings.</p></blockquote>

<p>are related. Though the diff is huge, much of that is due to the 98 files in the PyKF5 directory (as opposed to the 10 that actually contain the crown jewels, plus the 5 template-related files). Let me explain...</p>

<p>Those 98 files are effectively two things:</p>

<ol class="remarkup-list">
<li class="remarkup-list-item">The basis of the regression test suite for the tooling. In this sense, these rules (more or less) do just enough work to get beyond the fail-on-first-error semantics of the SIP compiler, and so are needed to allow enough of the syntax of the KF5 suite in the long list to be processed for me to feel comfortable that the tooling is "complete".</li>
<li class="remarkup-list-item">The starting point for the real per-framework rules that would be used in real life. In real life, I would expect the bindings to be packaged per-framework via ECM as you say, with each framework owner starting from the set of rules here.</li>
</ol>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>We can put the tooling in ECM so that everything is in place for all the Frameworks. (This is how the current approach works):</p></blockquote>

<p>The tooling in ECM would likely also host the shared rules (including the 5 files worth of template support) much as the current ECM does.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R240 Extra CMake Modules</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D7736" rel="noreferrer">https://phabricator.kde.org/D7736</a></div></div><br /><div><strong>To: </strong>shaheed, lbeltrame<br /><strong>Cc: </strong>Frameworks, Build System<br /></div>