[Digikam-devel] [Kde-pim] Akonadi Contact library: Targets not properly exported

Gilles Caulier caulier.gilles at gmail.com
Fri Apr 8 13:38:05 BST 2016


Hi Scarlet,

-#include <Akonadi/Contact/ContactSearchJob>
+#include <KF5/akonadi/contact/contactsearchjob.h>

This patch sound like a wrong way to handle frameworks header. After all i
never use #include <KF5/...> syntax, and there is no reason to do it.

Using the .h file instead the camelcase version is not a problem, but both
cases must work well in client application.

Gilles Caulier

2016-04-07 3:01 GMT+02:00 Scarlett Clark <scarlett.gately.clark at gmail.com>:

> It has to do with /path/to/include/KF5/path/to/camelcase , the key is
> actually the KF5 folder.
> If I patch  include/KF5/Path/To/Camelcase file it works, however the camel
> case file does not find its own header.
>
> /srv/jenkins/install/ubuntu/x86_64/g++/kf5-qt5/kde/kdepimlibs/inst/usr/include/KF5/Akonadi/Contact/ContactSearchJob:1:46: fatal error: akonadi/contact/contactsearchjob.h: No such file or directory*22:47:37* compilation terminated.
>
> I can only assume the KF5 folder is involved again. So I tried to add KF5
> to the ecm_generate_headers(PREFIX) but that has the effect of lower case
> kf5 which also does not work, obviously.
>
> So I turned back to Digikam and patched:
>
> -#include <Akonadi/Contact/ContactSearchJob>
> +#include <KF5/akonadi/contact/contactsearchjob.h>
>
> And finally we have a successful build.
>
>
> https://build.kde.org/job/digikam%20master%20kf5-qt5/PLATFORM=Linux,compiler=gcc/68/console
>
> I do notice KDE_INSTALL_INCLUDEDIR_KF5 in kdepimlibs is likely what puts
> in this KF5 folder?
>
> I do not know who is responsible here, but someone needs to fix something
> :) I have exhausted my current C++ skills to get this far lol.
>
> I have added digikam to the conversation.
> Cheers,
> Scarlett
>
>
> On Thu, Mar 31, 2016 at 11:48 PM, Ben Cooksley <bcooksley at kde.org> wrote:
>
>> On Thu, Mar 31, 2016 at 11:44 PM, Christophe Giboudeaux
>> <cgiboudeaux at gmx.com> wrote:
>> > On mercredi 30 mars 2016 20:19:29 CEST Ben Cooksley wrote:
>> >> On Tue, Mar 29, 2016 at 10:46 PM, Sandro KnauƟ <sknauss at kde.org>
>> wrote:
>> >>
>> >> Those are the header generation and installation routines - which do
>> >> indeed look.
>> >> What is missing in this case is the include path specification for the
>> >> KF5::AkonadiContact target which CMake provides.
>> >>
>> >
>> > The exported target is correct.
>> > From KF5AkonadiContactTargets.cmake :
>> >
>> > set_target_properties(KF5::AkonadiContact PROPERTIES
>> > INTERFACE_INCLUDE_DIRECTORIES
>> >  "${_IMPORT_PREFIX}/include/KF5/Akonadi/Contact;
>> >   ${_IMPORT_PREFIX}/include/KF5;
>> >   ${_IMPORT_PREFIX}/include/KF5/akonadi/contact;
>> >   ${_IMPORT_PREFIX}/include/KF5"
>> >   INTERFACE_LINK_LIBRARIES "KF5::AkonadiCore;KF5::Contacts;Qt5::Widgets"
>> > )
>>
>> Hmm, indeed that does look correct.
>> I wonder why Digikam would fail to compile then:
>>
>> 19:24:09
>> /home/jenkins/sources/digikam/kf5-qt5/utilities/kdesupport/akonadi/akonadiiface.cpp:47:44:
>> fatal error: Akonadi/Contact/ContactSearchJob: No such file or
>> directory
>>
>> Any ideas? (I assume Digikam is trying using to use AkonadiContact
>> correctly)
>>
>> Cheers,
>> Ben
>>
>> >
>> > _______________________________________________
>> > Kde-buildsystem mailing list
>> > Kde-buildsystem at kde.org
>> > https://mail.kde.org/mailman/listinfo/kde-buildsystem
>> >
>> _______________________________________________
>> KDE PIM mailing list kde-pim at kde.org
>> https://mail.kde.org/mailman/listinfo/kde-pim
>> KDE PIM home page at http://pim.kde.org/
>>
>
>
> _______________________________________________
> Digikam-devel mailing list
> Digikam-devel at kde.org
> https://mail.kde.org/mailman/listinfo/digikam-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/digikam-devel/attachments/20160408/d30a668a/attachment.html>


More information about the Digikam-devel mailing list