[CMake] Build dependent targets

Ellon Paiva ellonpaiva at gmail.com
Tue Nov 19 05:52:08 EST 2019


Hi Eric,

On 11/19/19 11:10 AM, Eric Noulard wrote:
>
>
> Le mar. 19 nov. 2019 à 11:03, Ellon Paiva <ellonpaiva at gmail.com 
> <mailto:ellonpaiva at gmail.com>> a écrit :
>
>     Hi,
>
>     I was wondering: is there any way to compile all targets that
>     depend on
>     a given target ? (i.e. the "dependent targets", if my English does
>     not
>     fail).
>
>     In my particular case, I have a huge project that contains many
>     libs and
>     executables, and I would like to check that the targets that
>     depend on
>     the library I'm working on do not break with my modifications, but I
>     wouldn't like to compile the whole project every time since not all
>     targets depends on my lib.
>
>
> Correct me if I'm wrong but if you build the whole project once, then 
> modify the lib,
> the next "whole build"  should only rebuild the necessary part ? i.e. 
> it'll rebuild
> the lib and all targets that depends on it.

Indeed, if I "whole build' once and modify the lib I would only rebuild 
the necessary part, except that I do not work alone on this project, and 
sometimes some rebase is needed to incorporate changes from other people 
on code not related to the lib I'm working on, and this would trigger 
more build than my changes would.

Also it may happen that a new dependent to the lib I'm working on may be 
added to the code base by one of these rebases. In this case the only 
way for me to check if my changes broke anything would be to do a whole 
build again, but this would also build many things not related to my 
work... I hope I'm being clear here. :-)

>
> Do you you want to avoid building the whole project in the first place 
> or does the
> second whole build trigger more than necessary target build?

I would like to avoid rebuilding targets due to changes introduced by my 
workmates that are not related to the part of the code base I'm working on.

Best,

Ellon

>
>
> -- 
> Eric

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cmake.org/pipermail/cmake/attachments/20191119/4648a82e/attachment.html>


More information about the CMake mailing list