Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.
Richard Kerry wrote: > I'd like to set up a module definition so I can do a single check-out > to get the three parts of the project I need. > > Each project has three parts. > 1. Source files. > 2. Include files. > 3. Executable (output file(s)). > > Lets say the repository is in CvsRepo. > > I'd like to set up a single module to check out all three parts (call > it MyProject_develop). The source files (in one directory, call it > CvsRepo/Source/MyProject) are applicable just to one project. The > Include files (in another directory, call it CvsRepo/Source/Include) > are applicable to several related projects. The executable is one > file (in another directory, call it CvsRepo/Binary, ie > CvsRepo/Binary/MyProject.exe). It is produced by building the project > in the appropriate manner (Visual Studio). It is needed as it will > be issued to another part of the team who need to be able to use it > without being able to rebuild it themselves. > > I'd like to set up the modules (and/or modules2) so I can check out > all three parts in a single check-out. Ie. I want to say 'cvs > checkout MyProject_develop' to 'Develop', and have it : 1. Get > CvsRepo/Source/MyProject as Develop/MyProject, 2. Get > CvsRepo/Source/Include as Develop/Include, 3. Get > CvsRepo/Binary/MyProject.exe as Develop/Binary/MyProject.exe. > > Cheking out a different project, set up in a similar way, would get a > different source directory, the same include directory, and put a > different binary file into the same Binary directory. As I found out today (see thread "Aliasing with modules2 ?") modules2 is no good for this task. It's a perfectly common thing with the "old-style" modules file though. For the simple grouping example it'd be something like this: MyProjectBinary Binary MyProject.exe MyProject_develop -a Source/MyProject Source/Include MyProjectBinary If you need to map paths along the way, e.g. if you want the binary in a "bin" folder below the Source folder instead of in the top level Binary folder, you could do something like this: MyProjectBinary -d Source/bin Binary MyProject.exe MyProject_develop -a Source/MyProject Source/Include MyProjectBinary There might be yet another way for performing the path mapping using ampersand modules but I've never used them myself and TBH I haven't missed them so far. I was able to accomplish evertyhing I needed so far by simply combining alias and regular modules (with target override if necessary). Hope this helps. -- Oliver ---- ------------------ JID: ogiesen at jabber.org ICQ: 18777742 (http://wwp.icq.com/18777742)