Keep CMT and patch as necessary
Assuming we have too much invested in CMT - we decide to keep it for both package management and building. However, we must attempt to address as many of our problems with CMT as possible. We have already demonstrated an ability to circumvent the problems CMT causes by various workarounds:
- MRStudio checks out packages using cvs, not the cmt checkout .. but we rely on CMT to get the used packages of the given checkout package, in case of a recursive checkout, and we use CMT to get the list of tags of a given package
- Generation of solutions files for VS2003 is done internally to MRStudio, but also in this case CMT is used to know the dependencies between packages
SCons Plus CMT
Continue to use CMT for package management (check outs and determining dependencies) but use SCons via CMT's document generator to create our makefiles.
SCons without CMT
Use SCons as our build system and completely remove CMT from the picture by creating our own system that checks out the code consistent with our use of packages.
Go Our Own Way
Create our own package management system from scratch that handles both the checking out of code from CVS, determination of dependencies, and creating makefiles for all our supported systems.