(I assume the off-list reply was not intentional?) On Friday 13 November 2015 13:37:10 Dr Nicholas J Bailey wrote: > Sorry, David, I wasn't being clear. I meant first build several little static > libraries, then run the unit tests against them, linking only the necessary > ones. Then link all the static libraries to the main executable.
I see what you mean. But "small" assumes that the dependencies between the classes aren't a big bowl of spaghetti... I don't know yet if they are or not, we'll see. I think I wasn't being clear either. I should say "auto tests" rather than "unit tests", because I'm thinking of both unit tests (for one class) and higher-level integration tests (like "load this rg file, export to lilypond, check output against baseline, and/or run lilypond to ensure it compiles"). And for this to be possible, surely I will need to drag in a large number of classes (maybe not the GUI code, but that assumes a clean core/gui separation, don't know if that's the case here, at least the buildsystem never enforced it). Class-level unit tests are very useful for some things, but sometimes a class redesign means most of the test doesn't apply anymore. On the other hand a high-level integration test will always make sense, unless one day you decide not to use lilypond at all anymore ;). In conclusion, I don't expect to be able to just use "small static libs", unfortunately, at least not without much more effort like refactorings and redesigns, speaking from experience with starting from a monolithic app. But maybe I'm wrong, we'll see ;) PS: the cmake buildsystem is almost ready, I just linked rosegarden successfully. -- David Faure, [email protected], http://www.davidfaure.fr Working on KDE Frameworks 5 ------------------------------------------------------------------------------ _______________________________________________ Rosegarden-devel mailing list [email protected] - use the link below to unsubscribe https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
