> On Feb. 8, 2014, 10:07 a.m., David Faure wrote: > > Urgh, we were hoping this wouldn't be an issue. > > > > This commit would break #include <attica/event.h>, so it cannot go in. > > > > All "namespaced" frameworks do it this way already btw, see kparts for > > instance: > > > > -- Up-to-date: > > /d/kde/inst/kde_frameworks/include/KF5/KParts/KParts/ReadWritePart > > -- Up-to-date: > > /d/kde/inst/kde_frameworks/include/KF5/KParts/kparts/readwritepart.h > > > > Since there is no filename clash, what is the issue if these end up in the > > same folder on Mac OSX? > > Harald Fernengel wrote: > Here's the layout after "make install" on OS X: > > include/KF5/KParts/textextension.h contains: > > #include "/tmp/kf5-kparts-ty2Y/src/textextension.h" > > ^^^ this is broken, points to the temporary build dir...? What should > this include? > > Then, we have include/KF5/KParts/KParts/ which contains both lower case > and upper case headers. > > include/KF5/KParts/KParts/textextension.h is the actual header > > include/KF5/KParts/KParts/TextExtension contains: > > #include "kparts/textextension.h" > > > > David Faure wrote: > Ah, I see. The local forwarding includes which are supposed to only be > used during compilation of kparts, get installed because they end up in > KParts/ instead of kparts/ (and the cmakelists.txt file just installs the > whole directory). > > I can think of two solutions... > 1) put local forwarders into ./local/kparts instead of ./kparts, to > ensure they stay out of ./KParts > 2) change cmakelists.txt to install a list of camelcase headers instead > of just "the whole directory" (which gives surprises with an unclean > builddir, installing old stuff still lying around) > > The first one seems simpler. > > In kparts/src: > - target_include_directories(KF5Parts PUBLIC > "$<BUILD_INTERFACE:${KParts_BINARY_DIR}>") > + target_include_directories(KF5Parts PUBLIC > "$<BUILD_INTERFACE:${KParts_BINARY_DIR}/local>") > > And in CEM: > > diff --git a/modules/ECMGenerateHeaders.cmake > b/modules/ECMGenerateHeaders.cmake > index e98a22e..38839f2 100644 > --- a/modules/ECMGenerateHeaders.cmake > +++ b/modules/ECMGenerateHeaders.cmake > @@ -50,7 +50,7 @@ function(ECM_GENERATE_HEADERS) > endif() > > if(NOT EGH_OUTPUT_DIR) > - set(EGH_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}) > + set(EGH_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/local) > endif() > > # Make sure EGH_RELATIVE is /-terminated when it's not empty > > Can you try it?
Ok, let's use Attica again as example as with the ECMGenerateHeaders.cmake change, the dependencies for KParts don't compile any more :) So, I applied the CEM patch, then in Attica, I now have e.g. src/local/Attica/topic.h that contains: #include "/tmp/kf5-attica-yJxM/src/topic.h" Installing that dir: -install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Attica DESTINATION ${INCLUDE_INSTALL_DIR} COMPONENT Devel) +install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/local/Attica DESTINATION ${INCLUDE_INSTALL_DIR} COMPONENT Devel) gives me the same brokenness? How would the install rule look like for Attica? - Harald ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/115541/#review49240 ----------------------------------------------------------- On Feb. 7, 2014, 7:37 p.m., Harald Fernengel wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://git.reviewboard.kde.org/r/115541/ > ----------------------------------------------------------- > > (Updated Feb. 7, 2014, 7:37 p.m.) > > > Review request for KDE Frameworks. > > > Repository: attica > > > Description > ------- > > Case-insensitive filesystems don't like the Attica vs. attica pathes, when > installing, the headers would all be messed up. Instead, install everything > to include/KF5/Attica to be in line with the other frameworks. > > Note - this might not be the best solution, but we need one in order to > deploy on Mac OS X :) > > > Diffs > ----- > > src/CMakeLists.txt 676c8a8e78420371bba19414b3f090180a49758d > > Diff: https://git.reviewboard.kde.org/r/115541/diff/ > > > Testing > ------- > > Only on Mac OS X > > > Thanks, > > Harald Fernengel > >
_______________________________________________ Kde-frameworks-devel mailing list Kde-frameworks-devel@kde.org https://mail.kde.org/mailman/listinfo/kde-frameworks-devel