Review Request 114988: Fix PREFIX parameter to ecm_generate_headers to match namespace KNS3

David Faure faure at kde.org
Mon Jan 13 08:30:02 UTC 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/114988/#review47294
-----------------------------------------------------------


Well, then it breaks lowercase headers, which have been <knewstuff3/entry.h> at least since 2009.

Looking at kdelibs4:
install_manifest.txt:/d/kde/inst/kde4.12/include/knewstuff3/knewstuffaction.h
install_manifest.txt:/d/kde/inst/kde4.12/include/knewstuff3/knewstuffbutton.h
install_manifest.txt:/d/kde/inst/kde4.12/include/KDE/KNS3/KNewStuffAction
install_manifest.txt:/d/kde/inst/kde4.12/include/KDE/KNS3/KNewStuffButton
(and no forwarding headers for DownloadDialog, DownloadWidget, DownloadManager, UploadDialog or Entry....)

This is inconsistent indeed. ecm_generate_prefix assumes that the prefix for camelcase and for lowercase headers is the same, apart from the case.

Oh! For sure there's a bug, I meant PREFIX KNewStuff3, rather than knewstuff3. This needs to be fixed.

I think this is more consistent than this patch, which will lead to kns3/entry.h etc. This would be a much bigger SIC than changing the prefix for camelcase headers, since KNewStuffButton is now Button anyway, and KNewStuffAction... hmm I didn't generate a forwarding header for it since it doesn't actually define such a class, but we can add that for SC reasons.

If we fix the PREFIX to KNewStuff3 then we get

-- Up-to-date: /d/kde/inst/kde_frameworks/include/KF5/KNewStuff3/KNewStuff3/DownloadDialog
-- Up-to-date: /d/kde/inst/kde_frameworks/include/KF5/KNewStuff3/KNewStuff3/DownloadWidget
-- Up-to-date: /d/kde/inst/kde_frameworks/include/KF5/KNewStuff3/KNewStuff3/UploadDialog
-- Up-to-date: /d/kde/inst/kde_frameworks/include/KF5/KNewStuff3/KNewStuff3/Button
-- Up-to-date: /d/kde/inst/kde_frameworks/include/KF5/KNewStuff3/KNewStuff3/DownloadManager
-- Up-to-date: /d/kde/inst/kde_frameworks/include/KF5/KNewStuff3/KNewStuff3/Entry

-- Up-to-date: /d/kde/inst/kde_frameworks/include/KF5/KNewStuff3/knewstuff3/knewstuff_export.h
-- Up-to-date: /d/kde/inst/kde_frameworks/include/KF5/KNewStuff3/knewstuff3/knewstuffaction.h
-- Up-to-date: /d/kde/inst/kde_frameworks/include/KF5/KNewStuff3/knewstuff3/knewstuffbutton.h
-- Up-to-date: /d/kde/inst/kde_frameworks/include/KF5/KNewStuff3/knewstuff3/downloaddialog.h
-- Up-to-date: /d/kde/inst/kde_frameworks/include/KF5/KNewStuff3/knewstuff3/downloadwidget.h
-- Up-to-date: /d/kde/inst/kde_frameworks/include/KF5/KNewStuff3/knewstuff3/downloadmanager.h
-- Up-to-date: /d/kde/inst/kde_frameworks/include/KF5/KNewStuff3/knewstuff3/uploaddialog.h
-- Up-to-date: /d/kde/inst/kde_frameworks/include/KF5/KNewStuff3/knewstuff3/entry.h
-- Up-to-date: /d/kde/inst/kde_frameworks/include/KF5/KNewStuff3/knewstuff3/button.h

Looks nice and consistent to me (including consistent with the other frameworks).

- David Faure


On Jan. 12, 2014, 8:15 p.m., Friedrich W. H. Kossebau wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/114988/
> -----------------------------------------------------------
> 
> (Updated Jan. 12, 2014, 8:15 p.m.)
> 
> 
> Review request for KDE Frameworks, Aleix Pol Gonzalez and David Faure.
> 
> 
> Repository: knewstuff
> 
> 
> Description
> -------
> 
> Currently the KNewStuff CamelCase forwarding headers are installed in [...]/include/KF5/KNewStuff3/knewstuff3
> Which seems wrong, at least does not follow the pattern seen with the other namespaced modules. And breaks all existing #includes if the build does not use KDE4Support with its variants of the CamelCase forwarding headers.
> 
> Attached patch changes the PREFIX parameter to ecm_generate_headers from knewstuff3 to KNS3, so that the prefix matches the namespace of the classes in the module.
> 
> 
> Diffs
> -----
> 
>   src/CMakeLists.txt 05cd500 
> 
> Diff: https://git.reviewboard.kde.org/r/114988/diff/
> 
> 
> Testing
> -------
> 
> Applied and run make install: CamelCase includes are installed in [...]/include/KF5/KNewStuff3/KNS3 directory, code which #includes KNS3/* without KDE4Support builds.
> 
> 
> Thanks,
> 
> Friedrich W. H. Kossebau
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20140113/23143fe0/attachment.html>


More information about the Kde-frameworks-devel mailing list