Getting ecm files from the ECM package
Michael Pyne
mpyne at kde.org
Fri Nov 1 17:52:55 UTC 2013
> On 11/01/2013 10:46 AM, Alexander Neundorf wrote:
> > [1] Why not merge that into CMake ? For quicker releases, and even easier
> > contributing. Also Bill once said that in hindsight he would have prefered
> > if
> > cmake would not ship any find-modules itself at all. So one could imagine
> > that cmake would come without any find-modules in the future, and all
> > find-modules would come from a separate package, e.g. ECM.
> > This would make cmake the core tool, and ECM its "standard library"
>
> I agree that a separation of CMake and the find_modules make sense. But.
> Then it is time to think of a way to integrate cmake with the separate
> source of find_modules. Algorithmically, it would look like
>
> PROJECT(MyApplication)
> FIND_MODULES_REPOSITORY("http://ecm.kde.org")
> FIND_PACKAGES(KF5 REQUIRED...)
>
> and so forth. That would be a real breakthrough. It is related to the
> approach taken by Maven and others. All it takes is a built-in way for
> CMake to download the find_modules into a cache location and update them
> when needed, or on request.
I don't really feel comfortable with the idea of the build process hitting the
Internet to download more code (CMake or otherwise) to execute as part of the
build. Yes, this does mean I dislike the Maven concept too. :)
It's hard to audit, hard to keep secure, and it shouldn't really be necessary
as it's rare that you'd be just running CMake by yourself to build an
individual git repo with all the splitting we've done.
If you're using a build script that script should already be taking care of
updating ECM just like any other build dependency. For example ECM is one of
the first modules kdesrc-build builds in the default config, and likewise for
the kf5 kdesrc-buildrc that is being maintained.
I see what you're getting at though. It would be nice if CMake could
automatically improve it's ability to find libraries and modules. But that
shouldn't happen at build time, it's hard to version the code that ends up
being used and it's also going to be very hard for our users who build from
tarballs (not to mention our downstreams who are quite worried about security,
for obvious reasons nowadays).
> This would also make a lot of things a lot easier. For example, nobody would
> need to separately install ECM, and updates to our ECM packages can be
> delivered globally by commits to that repo.
Well, separate installation isn't that hard in the context of needing 17
different git repos just to do anything as it stands now. There's admittedly
some hyperbole there, but not much! ;)
Likewise, updating a central repo can work whether CMake downloads ECM or
whether the existing build script or packaging script does it. It's still
pulling from the same repo in the end.
Please let me know if kdesrc-build is unsuitable as it stands now and I can
try to fix it (or point to what's broken so others can). I'd hate for us to
spend a lot of time implementing a new CMake feature to use instead of an
existing 95% solution. Either way, even if kdesrc-build doesn't work, Michael
Jansen's excellent build-tool is out there as well.
Regards,
- Michael Pyne
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20131101/76dbc58c/attachment.sig>
More information about the Kde-frameworks-devel
mailing list