<div dir="ltr">

<p style="margin:0px;text-indent:0px">Regarding</p>
<p style="margin:0px;text-indent:0px">> * we need to mark the optional, but in truth required dependencies</p>
<p style="margin:0px;text-indent:0px">For those dependencies, would it be an option to replace</p>
<p style="margin:0px;text-indent:0px">find_package(AwesomeLinuxOnlyLib)</p>
<p style="margin:0px;text-indent:0px">with</p>
<p style="margin:0px;text-indent:0px">option(UseAwesomeLib "Don't touch if you're a Linux distro" ON)</p>
<p style="margin:0px;text-indent:0px">if(UseAwesomeLib)</p>
<p style="margin:0px;text-indent:0px">  find_package(AwesomeLinuxOnlyLib REQUIRED)</p>
<p style="margin:0px;text-indent:0px">endif()</p>
<p style="margin:0px;text-indent:0px"><br></p>
<p style="margin:0px;text-indent:0px">With that, one would get a build error with the default configuration if the </p>
<p style="margin:0px;text-indent:0px">dependency is not met, and non-Linux distributions could still disable it by </p>
<p style="margin:0px;text-indent:0px">passing -DUseAwesomeLib=OFF to cmake.</p>
<p style="margin:0px;text-indent:0px">This would cause slightly more work for non-Linux distributions, but I'd wager </p>
<p style="margin:0px;text-indent:0px">that this is not a huge obstacle.</p>
<p style="margin:0px;text-indent:0px"><br></p>
<p style="margin:0px;text-indent:0px">Of course, documenting new dependencies (via XML or whatever else) would be welcome and would avoid the initial build error.<br></p><p style="margin:0px;text-indent:0px"><br></p><p style="margin:0px;text-indent:0px">Fabian</p>
<p style="margin:0px;text-indent:0px"><br></p>
</div><div class="gmail_extra"><br><div class="gmail_quote">2016-03-21 12:59 GMT+01:00 Martin Graesslin <span dir="ltr"><<a href="mailto:mgraesslin@kde.org" target="_blank">mgraesslin@kde.org</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">> > because of non-linux platforms<br>
> ><br>
> >     - We expect Linux distributions to fulfill them<br>
><br>
> Then new dependencies should be communicated in advance, or when the<br>
> tarballs are made ready for a new (beta) release. Sometimes it's guesswork,<br>
> or checking the CMake output, which is not ideal with automated build<br>
> systems.<br>
<br>
How do you suggest this to work? The last time I run into the situation that I<br>
needed to add an optional dependency and tell distros about it, it failed<br>
horribly. Almost no distro got the memo :-( In retrospection I think I sent it<br>
out too early: when the dependency was added, not when we released. On the<br>
other hand it needs to be sent out as soon as possible for constantly<br>
integrating distros.<br>
<br>
My best ideas currently are:<br>
* we need better output from CMake (more structured storage of feature info -><br>
xml?)<br>
* we need to mark the optional, but in truth required dependencies<br>
* we give up on the idea of making things optional and turn everything as<br>
mandatory and open up for the big systemd bikeshedding discussions ;-)<br>
<br>
Cheers<br>
<span class="HOEnZb"><font color="#888888">Martin</font></span><br>_______________________________________________<br>
Distributions mailing list<br>
<a href="mailto:Distributions@kde.org">Distributions@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/distributions" rel="noreferrer" target="_blank">https://mail.kde.org/mailman/listinfo/distributions</a><br>
<br></blockquote></div><br></div>