On Tue, Jul 9, 2013 at 12:38 PM, Martin Gr=C3=A4=C3=9Flin wrote: > On Tuesday 09 July 2013 06:33:21 Scott Kitterman wrote: >> On Tuesday, July 09, 2013 12:05:30 PM =C3=80lex Fiestas wrote: >> > On Monday 08 July 2013 22:01:29 Andrea Scarpino wrote: >> > > We don't just run a sed rule on each spec (pkgbuild, in my case) fil= e. >> > > We >> > > check for new dependencies (resp. dependencies not needed anymore), = new >> > > modules (resp. modules not part of the SC anymore), build failure, >> > > etc... >> > >> > Can't we do something so you don't have to hunt this down but instead = just >> > read a list? >> > >> > For build time dependencies, we could do something by looking for >> > find_package, and for runtime dependencies we should figure something = out. >> > >> > Our projects are a mess when it comes to runtime dependencies, why don= 't >> > we >> > fix that for example? >> >> How would a run time only dependency be expressed? I've seen some peopl= e >> put them in find_package, which is wrong and then we end up having to pa= tch >> it away. >> >> For build-time dependencies, particularly determining minimum version >> requirements, I end up reading CMakeLists.txt in my favorite editor. Th= at's >> not ideal either. > what about having this information available in a standardized format, e.= g. a > dependencies.xml? json is the new xml, so dependencies.json :P while in theory that is a nice idea (just like having a file listing all used licenses/copyright holders/whatever) I do not see such a file getting maintained reliably. certainly not unless cmake dependency tracking/detection is forcefully driven by that file. such that the only way to pull dependencies into a kde enabled cmake project is to use that file and prevent manual find_package calls, which would convenientely make related macros more accessible (macro_optional_find_package/macro_log_feature/etc.). but since that is rather restrictive and people probably wouldn't like it, perhaps the better way to go about this is to enhance cmake. for example have a dummy mode where it doesn't generate any files but simply catches all find_package calls and lists the thusly detected dependencies. that would probably "only' catch some 99% of dependencies; on the plus side it does not require someone to maintain a list of dependencies manually. of course it doesn't help with runtime dependencies but IIRC there was a discussion about how to express their requiredness through cmake anyway (such that a user compiling from source would know to install it and a distro doesn't need to install it for building purposes). if we were to have runtime dependencies expressable through cmake as well we could also list those in the dependency list so that packagers do not forget to add them. with frameworks in particular I suppose we need some approach to express which module can be enhanced by another module at runtime... I guess what I am saying is, instead of having a separate file to track dependencies, why not simply do it in cmake, where we need to check for them anyway (cmake could then generate a json file ;)). HS