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]

Aleix Pol Gonzalez aleixpol at kde.org
Sat Apr 26 10:27:40 UTC 2014



> On April 23, 2014, 5:09 p.m., David Faure wrote:
> > 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)
> >

+1, this would make it work the same as KParts.

Resulting in include/KF5/KJsEmbed/KJsEmbed/KJsEmbed. Do we have projects including only <KJsEmbed>? In this case we'd have to introduce an interface for KJsEmbed/KJsEmbed.


- Aleix


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


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/20140426/112d5806/attachment.html>


More information about the Kde-frameworks-devel mailing list