Am Sonntag, 29. Dezember 2013, 17:39:47 schrieb Kevin Ottens: > On Sunday 29 December 2013 17:11:36 Friedrich W. H. Kossebau wrote: > > So possibly something more that needs to be decided on: where should > > plain headers end up? > > Consensus was: same place. The camel cased includes and the .h ones were > planned to live in the same folder.
To have the same pattern like Qt5 uses, I guess? Makes also sense to me. So by example of KI18n: Instead of include/KF5/ki18n_version.h include/KF5/klocalizedstring.h include/KF5/kuitmarkup.h include/KF5/kuitsetup.h include/KF5/ki18n_export.h include/KF5/KI18n/KuitSetup include/KF5/KI18n/KLocalizedString there should be include/KF5/KI18n/ki18n_version.h include/KF5/KI18n/klocalizedstring.h include/KF5/KI18n/kuitmarkup.h (has KuitSetup class def.) include/KF5/KI18n/kuitsetup.h (forwards to kuitmarkup.h) include/KF5/KI18n/ki18n_export.h include/KF5/KI18n/KuitSetup include/KF5/KI18n/KLocalizedString right? (kuitmarkup.h possibly was not renamed to kuitsetup.h for backward support) And KF5I18nTargets.cmake should have both: INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/KF5" INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/KF5/KI18n" Now, what to expect for "frameworks not using the K* prefix for their classes (and generally using namespaces)", by example of KParts: Currently it is: include/KF5/KParts/StatusBarExtension include/KF5/KParts/ListingExtension include/KF5/kparts/statusbarextension.h include/KF5/kparts/browseropenorsavequestion.h [...] What should that become? include/KF5/KParts/KParts/StatusBarExtension include/KF5/KParts/KParts/ListingExtension include/KF5/KParts/kparts/statusbarextension.h include/KF5/KParts/kparts/browseropenorsavequestion.h [...] KF5PartsTargets.cmake: INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/KF5" INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/KF5/KParts" or rather include/KF5/KParts/StatusBarExtension include/KF5/KParts/ListingExtension include/KF5/kparts/statusbarextension.h include/KF5/kparts/browseropenorsavequestion.h [...] KF5PartsTargets.cmake just: INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/KF5" or else ? More questions: Q: Really hardcode KF5/ prefix to include path? The KF5/ part of the include path, does it make sense in all deployments given that all headers are already contained in subdirs? IMHO that should be left to be defined by the packager/installer. For what reason would we want to enforce that? Will there be any files outside of the $MODULENAME/ subdirs? kdesupport/extra-cmake-modules/kde-modules/KDEInstallDirs.cmake has right now: _set_fancy(INCLUDE_INSTALL_DIR "include/KF5" "The install dir for header files") Q: Add a convenience Module/Module file? What about adding a convenience include-all file Module/Module, e.g. include/KF5/KI18n/KI18n, like there usually is one with each Qt module? Cheers Friedrich _______________________________________________ Kde-frameworks-devel mailing list Kde-frameworks-devel@kde.org https://mail.kde.org/mailman/listinfo/kde-frameworks-devel