Turn internals into a library (actually two)
Review Request #103183 - Created Nov. 18, 2011 and submitted
This patch turns common-internals into a library. Here follows a shortlog of changes of what I did for making this happen: 264472c Add CMake magic for making the library build bb7e95b Now that everything has been put into a namespace, rename KPresence to Presence for consistency ad52ffe Export the classes b587540 Add KTelepathy namespace to base classes b3ee5f6 Fix all warnings 83b2a68 Enforce the use of QLatin1* 5c8fc85 Enforce the non-use of Qt keywords Missing: * Fix paths (so move all the source code in a KTelepathy/ subfolder) for fixing includes in header files when including from other applications. I didn't do that in the review since it would have screwed up the diff badly. * Port applications George, I know you are reluctant towards this change, but the situation with the current submodules is getting unsustainable, and since we aim towards moving KTelepathy to Extragear for 0.3, we need to fix that. The concern about BC is not a problem, since we'll handle the SONUMBER accordingly, and the library will still be private for internal use until we decide for something different.
[23:41] <d_ed> one final thing - I've heard (though this may be wrong) using the KDE_EXPORT macro for anything outside kdelibs is naughty [23:41] <d_ed> and you should make your own export macro [23:41] <drf__> I'll change this in a later revision for sure though [23:41] <d_ed> I'm going to put that as a review comment so it's not forgotten
Review request changed
* Rebased on master (after merging my previous patch) * Added our own export routine, as mentioned by David in a previous comment
Revision 2 (+573 -229)
Ok, let's see. I'm ok for making it a library. That would happen anyway at some point... What I see problematic here is the names. The whole naming scheme we use is a bit confusing. The project is officially now "KDE-Telepathy". Apps & tarballs (and l10n modules) are named "telepathy-kde-*". The namespace used here and in other places is "KTelepathy" (which it's a bit long imho... how about KTp?). This library is called libtelepathykdecommoninternalsprivate (record for biggest library name ever? :P), its cmake variables and export macros in this patch are KTELEPATHY_* and installs stuff in $prefix/include/telepathy-1.0/KTelepathy The text-ui has a library called "ktelepathy_chat_lib", with export macros "KDE_TELEPATHY_CHAT_LIB_*" and installs headers in $prefix/include/KDETelepathy. The nepomuk library that the other George is writing is called "ktelepathy" and installs headers in $prefix/include/KTelepathy (and has no proper export macro). Now, let's make a policy out of this... Btw, why the models have no namespace?