[CMake] Effort to create a new generator (tup)

Mike Shal marfey at gmail.com
Wed May 5 21:45:12 EDT 2010


On 5/5/10, Jed Brown <jed at 59a2.org> wrote:
>  Having just experimented with tup recently, test suites are a potential
>  issue.  As I understand it, tup will always build everything rather than
>  stopping, for example, with the shared library or a select executable.
>  It would be a problem if updating the library caused relinking of
>  thousands of test executables.  Usually I want fast recompilation of the
>  specific test program I'm working with (even if I'm influencing it's
>  behavior by editing library code), only once that is worked out will I
>  want to relink the rest and perhaps run the test suite.
>

Correct, in its current form you can't have tup stop when it gets to a
particular node in the DAG. I've had a similar issue in trying to use
tup to build gittup.org with gcc. Here, every program in gittup.org
depends on the gcc executable, so modifying a file in gcc results in
every other file getting re-compiled. What I ended up doing was just
cloning the gcc directory into test-gcc, and using the test-gcc
compiler to build a test program. Once I was satisfied, I would merge
the changes into the main gcc area, which would result in everything
getting re-built as a final test.

In your case, I guess this would mean copying the library, and
temporarily changing the test case to use the copy instead of the main
library. I can see how that would get annoying though, so maybe it
would be prudent to support early bail-outs in tup.

-Mike


More information about the CMake mailing list