On Wednesday 15 August 2007 21:08, Kyle Heath wrote: > I have read the Mastering CMake book and I'm still having trouble > getting inter package dependencies working (in source trees). > > The Situation: > I have a CMake managed static lib package called libA with a > libAConfig.cmake file as described in section 6.7 of Mastering CMake. > I have another Cmake managed package libB also with a libBConfig.cmake > file that uses package libA. I have another cmake project that > generates an executable that directly depends only on libB. > > The Problem: > The header directories for libB are included for the executable target > but not those of libA (on which libB depends). The > EXPORT_LIBRARY_DEPENDENCIES macro doesn't record any of the include > directories or the name of the package so I don't see any mechanism > for CMake to walk the dependency chain to collect this information. > > The Question: > For CMake to handle package dependencies correctly, it must have a way > to collect all the required header include directories by walking the > dependency chain. This doesn't seem to happen by default. What is > the mechanism to do this correctly?
There are different ways to do this. You can either write a FindLibA.cmake, which searches the LibAConfig.cmake file and also searches the include directory and sets it. Or you can embed a variable which holds the required include directory in the LibAConfig.cmake file, by using FILE(APPEND LibAConfig.cmake ....) after the EXPORT_LIBRARY_DEPENDENCIES(). Bye Alex _______________________________________________ CMake mailing list [email protected] http://www.cmake.org/mailman/listinfo/cmake
