CMake config & target challenges on moving to KF5 namespace; dir structure & API dox (Re: Submitting Grantlee as a KF5 Framework)
Friedrich W. H. Kossebau
kossebau at kde.org
Sun Dec 22 16:31:27 GMT 2019
Am Sonntag, 22. Dezember 2019, 17:08:15 CET schrieb Stephen Kelly:
> On 21/12/2019 23:55, Friedrich W. H. Kossebau wrote:
> > Perhaps joining the "Release Service" (formerly known as "KDE
> > Applications") is a better place then, it also contains a set of
> > libraries already. That would serve the purpose of having releases
> > happening regularly.
> The goals of making Grantlee a Framework are:
> * Make more frequent releases which don't depend on me
> * Make it more easy for others to contribute to development
> I think at the point that renaming happens, the name Grantlee will
> disappear, and we'll have two libraries (KF5::TextDocument and
> KF5::TextTemplates or so in CMake and probably removing the C++ namespace).
There is no need to drop the name "Grantlee", IMHO that is a well-known
product/solution identifier by now for the needs it solves. There are other
non-generic-name identifiers in KDE Frameworks (Sonnet, Purpose, Prison,
Attica, Solid, Baloo, Syndication) instead of "K" + generic descriptive
english name, so it is also nothing new in concept.
KF5::TextDocument & KF5::TextTemplates as target/lib names e.g. would be less
useful, as they could describe a lot of things and would need to be longer to
be more exact :)
So having "Grantlee" as easily searchable term which also is properly defined
what solution scope it is about can be actually seen as an advantage.
> I think all of that should be done together and I don't think that
> should be done until compatibility is broken to become Qt6-based (KF6).
> If joining the Release Service helps reach the goals, and there is
> consensus that Grantlee can't be a framework without partial renaming
> (ie renaming the CMake interface but little else) in KF5, then that
> might be the way to go.
So far I was hoping we could have both for KF5 already, backward-compatible
CMake config files with old imported targets as well as parallel new KF5-
namespaced CMake names. Myself still no good idea how to do this in CMake
without too much manual complicated fragile hackery.
More information about the kde-core-devel