[CMake] Build only what you need in third party libs

Alexander Neundorf a.neundorf-work at gmx.net
Wed Dec 9 15:37:37 EST 2009


On Saturday 05 December 2009, Brian Davis wrote:
> I have used boost jam before and there was a mechanism to build only what
> you need by specifying dependencies within the boost libraries.  bjam would
> then run off calculate deps and build only what I needed. In CMake is there
> such a feature to specify a third party library and specify only the
> targets you need to build as dependencies of my build target?
>
> i.e. can I use
>
> add_subdirectory( lib/3rdParty/Win32/boost-cmake-1_41_0 ./boost )
>
> then create a target that only uses say boost_filesystem and only have that
> built? Or do I need to build the world to get a handful of needed dll's
> that are actually used in my project?

Maybe I'm missing the point, but let's say you have library A, B, C and D 
(where B depends on A), and an executable foo, which links against B and D.
If you then just build the target "foo", the targets A, B and D will be built 
automatically (and not C, since foo does not depend on C).

Is this what you mean ?

Alex


More information about the CMake mailing list