Review Request 112928: Template files for frameworks

Aurélien Gâteau agateau at kde.org
Fri Sep 27 15:06:42 UTC 2013



> On Sept. 26, 2013, 10:27 p.m., Alexander Neundorf wrote:
> > template/CMakeLists.txt, line 22
> > <http://git.reviewboard.kde.org/r/112928/diff/5/?file=192796#file192796line22>
> >
> >     The idea here was that you can simply list all required KF5 frameworks in one find_package() call:
> >     find_package(KF5 COMPONENTS CMake Compiler InstallDirs KCoreAddons Solid ....)
> >     
> >     When not doing this, you can also use the longer include() syntax instead of the find_package(KF5) syntax:
> >     include(KDECMakeSettings)
> >     include(KDECompilerSettings)
> >     include(KDEInstallDirs)
> >     find_package(KCoreAddons)
> >
> 
> Stephen Kelly wrote:
>     What would make sense to me is this:
>     
>     As a downstream KDE application
>      find_package(ECM 0.0.9 REQUIRED KDECMake KDECompiler KDEInstallDirs)
>      find_package(KF5 5.0.0 REQUIRED KCoreAddons Solid)
>     
>     As a downstream which is not a KDE application:
>      find_package(KF5 5.0.0 REQUIRED KCoreAddons Solid)
>     
>     In the KF5 tier1 buildsystems:
>      find_package(ECM 0.0.9 REQUIRED KDECMake KDECompiler KDEInstallDirs)
>     
>     In the KF5 tier>1 buildsystems:
>      find_package(ECM 0.0.9 REQUIRED KDECMake KDECompiler KDEInstallDirs)
>      find_package(KF5 5.0.0 REQUIRED KCoreAddons Solid)
>     
>     That way, when we're building KF5 tier1, we're not finding KF5. We're finding and using ECM.
>     
>     When we're building KF5 tier2, we're finding out tier1 deps and we're finding and using ECM.
>     
>     etc.
>     
>     That maps to reality. It's a bit unfortunate that find_package(KF5) has to be a FindKF5 in ECM, but that's ok IMO.
>     
>     Thanks,
>     
>     Steve.
> 
> Aurélien Gâteau wrote:
>     Alexander: I am still not sure what the arguments after REQUIRED are, I just cargo-culted them. Are you saying this is just a way to avoid adding include() lines? If so, how comes the arguments after REQUIRED are not exactly the same as the one you used in your include() lines?
>     
>     Steve: this sounds good to me, but would be tricky to keep readable if we fit all in one template file. Maybe it would be better to create different templates, like templates/tier1, templates/tiern, templates/kde-app, templates/qt-app? I am worried about the templates bit-rotting though.
> 
> Stephen Kelly wrote:
>     My comment was more about what is maintained in the repos and what I find readable and what I think maps to reality. My comment was not spefically about what a template-based generator would generate. After being generated from a template the code will have to be changed and maintained anyway.
>     
>     I'd put a comment in the single template that you have, not create multiple templates. That would only have people wondering what to use. Note though that what I said would make sense to me is not the current state.

Oh OK. Actually, I would not put instructions for application in there, just tier1 and tier N+1. Application instructions should be kept somewhere else IMO.


- Aurélien


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/112928/#review40893
-----------------------------------------------------------


On Sept. 27, 2013, 5:05 p.m., Aurélien Gâteau wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/112928/
> -----------------------------------------------------------
> 
> (Updated Sept. 27, 2013, 5:05 p.m.)
> 
> 
> Review request for KDE Frameworks, Kevin Ottens, Alexander Neundorf, and Stephen Kelly.
> 
> 
> Description
> -------
> 
> This patch adds a template/ dir which contains example CMakeLists.txt and FooBarConfig.cmake.in files, based on what exists in current frameworks.
> 
> 
> Diffs
> -----
> 
>   template/CMakeLists.txt PRE-CREATION 
>   template/FooBarConfig.cmake.in PRE-CREATION 
>   template/autotests/CMakeLists.txt PRE-CREATION 
>   template/setup.sh PRE-CREATION 
>   template/src/CMakeLists.txt PRE-CREATION 
>   template/src/myclass.h PRE-CREATION 
>   template/src/myclass.cpp PRE-CREATION 
>   template/tests/CMakeLists.txt PRE-CREATION 
> 
> Diff: http://git.reviewboard.kde.org/r/112928/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Aurélien Gâteau
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20130927/1465deb1/attachment.html>


More information about the Kde-frameworks-devel mailing list