Review Request 117012: Place KJsEmbed headers directly under ${INCLUDE_INSTALL_DIR}/KJsEmbed instead of under ${INCLUDE_INSTALL_DIR}/KJsEmbed/kjsembed [was: Place KJsEmbed camelcase header under ${INCLUDE_INSTALL_DIR}/KJsEmbed/kjsembed]
David Faure
faure at kde.org
Wed Apr 23 17:09:10 UTC 2014
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/117012/#review56306
-----------------------------------------------------------
The reason I did it this way was because existing application code uses
#include <kjsembed/kjsembed.h>
#include <kjsembed/qobject_binding.h>
etc.
See e.g. http://lxr.kde.org/source/kde/kdelibs/kross/kjs/kjsscript.cpp?v=stable-qt4
So I picked the "namespaced framework" setup, where lowercase headers go to include/KF5/FrameworkName/lower/lower.h and forwarding headers go to include/KF5/FrameworkName/Camelcase/Camelcase. KParts does the same, for instance, with e.g. include/KF5/KParts/kparts/event.h and include/KF5/KParts/KParts/Event.
So why is this a problem for kjsembed and not for kparts? Ah, I see. The forwarding header is supposed to go under a camelcase subdir (like it does in kparts). KParts/KParts/Event looks confusing, but a better example where the framework name differs from the namespace is KIOCore/KIO/Job.
So this should be the fix you need:
-install(FILES ${KJsEmbed_CamelCase_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/KJsEmbed COMPONENT Devel)
+install(FILES ${KJsEmbed_CamelCase_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/KJsEmbed/KJsEmbed COMPONENT Devel)
- David Faure
On April 21, 2014, 1:59 a.m., Andrius da Costa Ribas wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/117012/
> -----------------------------------------------------------
>
> (Updated April 21, 2014, 1:59 a.m.)
>
>
> Review request for KDE Frameworks and kdewin.
>
>
> Repository: kjsembed
>
>
> Description
> -------
>
> Currently kjsembed CMake file tries to install both ${INCLUDE_INSTALL_DIR}/KJsEmbed/kjsembed (directory) and ${INCLUDE_INSTALL_DIR}/KJsEmbed/KJsEmbed (camel case header). This is not allowed in a case-insensitive filesystem, causing the install step to fail on Windows.
>
>
> Diffs
> -----
>
> src/kjsembed/CMakeLists.txt e0ab74c
>
> Diff: https://git.reviewboard.kde.org/r/117012/diff/
>
>
> Testing
> -------
>
> Tested using MSVC 2013
>
>
> Thanks,
>
> Andrius da Costa Ribas
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20140423/1afab3ab/attachment.html>
More information about the Kde-frameworks-devel
mailing list