Alexander Neundorf wrote: > On Sunday 08 January 2012, Stephen Kelly wrote: >> Hi, >> >> I don't think I've ever seen a direct answer to this question. > > AFAIK, yes, they should. > FindKDE4Internal.cmake finds Qt, FindPNG.cmake finds zlib. > > >> Is it something to be decided on a case by case basis? If so, then why is >> there no general case? >> >> I can see a possible reason that it is not solvable in the general case >> because sometimes the behaviour of find_package can be changed by setting >> variables (eg, one might use QT_USE_QTXMLPATTERNS before finding Qt4). >> >> Specifically this comes up for me because I need to know whether Qt5 >> modules should find their own dependencies. That is, should >> >> find_package(Qt5Gui) >> >> cause >> >> find_package(Qt5Core REQUIRED) >> >> to be called or not? > > I'd say yes. > Otherwise the imported targets in Qt5Gui will depend on not yet defined > targets from Qt5Core. > > The same way cmake takes care of adding the required additional libraries > to the link line (like adding zlib when linking libpng), it should also > take care of this, IMO. > > You should just have to state > find_package(Foo) > and this will get you Foo.
That implies that * Qt5Gui_INCLUDE_DIRS should also contain Qt5Core_INCLUDE_DIRS * Qt5Gui_DEFINITIONS should contain Qt5Core_DEFINITIONS * Qt5Gui_COMPILE_DEFINITIONS should contain Qt5Core_COMPILE_DEFINITIONS Right? (for the libraries, the dependencies are already part of the link dependencies variable). Otherwise you would be doing this: find_package(Foo) include_directories( ${Foo_INCLUDE_DIRS} ${Bar_INCLUDE_DIRS} # Where does this come from ?? ) Thanks, Steve. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers