<table><tr><td style="">kossebau 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/D10450" rel="noreferrer">View Revision</a></tr></table><br /><div><div><p>"This (hopefully) fixes the build failure noticed in the FreeBSD (and some linuxes)" - leaves the question: why should it exactly fix it? :)</p>

<p>From discussion of last week on irc, it seemed that the actual problem is that the generated make files do not contain the dependency between the JSON file that needs to be generated and automoc running over the cpp source file to generate the moc file based on the referenced JSON file.<br />
So in a highly parallel build the automoc is run before the JSON file is generated.</p>

<p>Something which e.g. is tried to be solved by the code in the <tt style="background: #ebebeb; font-size: 13px;">kcoreaddons_add_plugin</tt> macro, by grepping over all the source files to find the cpp file which references the JSON file and then create the dependency by</p>

<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">set_property(SOURCE ${dependent_sources} APPEND PROPERTY OBJECT_DEPENDS ${json})</pre></div>

<p>Thing is that Plasma only uses the <tt style="background: #ebebeb; font-size: 13px;">kcoreaddons_desktop_to_json</tt> macro, so this is why it runs the chance to fail here, while all other projects which create the JSON still on the fly, also call <tt style="background: #ebebeb; font-size: 13px;">kcoreaddons_add_plugin</tt>, cmp. <a href="https://lxr.kde.org/search?_filestring=&_string=kcoreaddons_add_plugin&_casesensitive=1" class="remarkup-link" target="_blank" rel="noreferrer">https://lxr.kde.org/search?_filestring=&_string=kcoreaddons_add_plugin&_casesensitive=1</a></p>

<p>But not further explored, so still curious if that really is the case or if you found the real reason.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R244 KCoreAddons</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D10450" rel="noreferrer">https://phabricator.kde.org/D10450</a></div></div><br /><div><strong>To: </strong>tcberner, FreeBSD, mpyne, bshah, dfaure<br /><strong>Cc: </strong>kossebau, Frameworks, michaelh<br /></div>