Mark wrote: > On Sun, Oct 20, 2013 at 11:42 AM, David Faure <[email protected]> wrote: >> On Sunday 13 October 2013 17:18:28 Mark wrote: >>> Hi, >>> >>> I used to rely on KF5_INCLUDE_DIRS but since a few days that variable >>> seems to be empty. Did i do something wrong? >>> >>> My CMake file for the relevant parts: >>> >>> find_package(ECM REQUIRED NO_MODULE) >>> set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) >>> find_package(KF5 MODULE REQUIRED COMPONENTS CMake Compiler InstallDirs >>> KBookmarks XmlGui Solid KIO) >>> include_directories(${KF5_INCLUDE_DIRS}) >>> >>> KF5_INCLUDE_DIRS used to contain a bunch of paths a few days ago.
When I saw this mail, I almost posted a link to http://www.macieira.org/blog/2012/05/doesnt-work-doesnt-work/ because your mail didn't specify what the problem was. Then I realized that your mail didn't actually say that there was a problem at all, so I didn't. Your test case above is not complete. See http://sscce.org/ >> >> I don't know much about this variable, but it shouldn't be needed anyway. >> Just linking to the appropriate targets (e.g. KF5::KBookmarks) should >> bring in the corresponding include dirs. > > After hours of CMake debugging i finally found the reason for the > variable to be empty [1]. I'm glad you found the cause and more info. Looking at gitk would have saved you some hours I guess, as would looking at the output of 'git log -S INCLUDE_DIRS'. > However, when i add in KIO (or KIOCore) or any known KIO thing i still > am welcomed by by an error that KIO/Job could not be found... > > Before the commit [1] i used to just add ${KF5_INCLUDE_DIRS} to my > include dirs which would pick everything up. Right now when i compile > with KIO added like this: > find_package(KF5 MODULE REQUIRED ... KIO ...) > target_link_libraries(project > ... other libs ... > kio > kiocore > KF5::KIOCore > KF5::KIOWidgets > ) > > When compiling it includes some paths, but certainly not the one where > KIO is hidden. I only see: > -I/home/kde-devel/kf5/include > > KIO is hidden at: > -I/home/kde-devel/kf5/include/KDE > > using kio/job.h as includes works just fine. Using KIO/Job does not. > Do you happen to know a solution here? add target_include_directories(foo PUBLIC "$<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}/KDE>" ) to whatever foo needs a KDE/ include. There is a more-generic solution, but currently there are several inconsistencies in 'where do we put includes' and 'what include directories should the user use'. Thanks, Steve. _______________________________________________ Kde-frameworks-devel mailing list [email protected] https://mail.kde.org/mailman/listinfo/kde-frameworks-devel
