<table><tr><td style="">IlyaBizyaev 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/D28444">View Revision</a></tr></table><br /><div><div><p>I don't have enough CMake knowledge to give code comments, but here are some things I can notice in case they help in review:</p>

<ol class="remarkup-list">
<li class="remarkup-list-item">The function specifically mentions Cargo workspace, which is basically a Rust alternative to <tt style="background: #ebebeb; font-size: 13px;">TEMPLATE = subdirs</tt> in qmake. It doesn't seem though that the current implementation has code specific for this project type, and it can probably work just as well for normal executable and library projects. Am I missing something? If it can't, how would developers use this ECM module if they don't need the workspace? Can it be generalized?</li>
<li class="remarkup-list-item">In the implementation that I mentioned, the resulting target gets a name that we can use directly, whereas in your usage example you have to manually use an artifact variable to actually be able to link. You also manually specify the shared library extension; will this require a platform-dependent wrapper in end user's CMakeLists to be able to use this on e.g. Windows?</li>
</ol>

<p>Thank you for your work :)</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/D28444">https://phabricator.kde.org/D28444</a></div></div><br /><div><strong>To: </strong>cblack, Frameworks, Build System<br /><strong>Cc: </strong>apol, IlyaBizyaev, kde-frameworks-devel, kde-buildsystem, LeGast00n, cblack, GB_2, bencreasy, michaelh, ngraham, bruns<br /></div>