Thread: Automated CVS-VC6 building

  1. #1
    Registered User
    Join Date
    Mar 2009
    Posts
    12

    Automated CVS-VC6 building

    This is a big question that covers both building & source-control of programs.

    I use Perforce (they don't have forums) as my CVS source-control. Does anyone have any good ideas on how to write a batch-process to:

    1. Sync to a specific changelist (collection of versions) in Perforce
    2. Use MS VC6 to batch build (consists of multiple projs of dlls/exes) and might need rebuild/relink due to dependencies.
    3. Once 100% built (rebuild doesn't do any further linking) then move to folder with same name as the changelist #.
    4. Repeat from step 1 onto the next changelist.

  2. #2
    Registered User
    Join Date
    Jan 2005
    Posts
    7,366
    I'm not sure about all your requirements. We automate getting the latest versions from PerForce and building our app with batch files and other tools.

    1. My batch file for getting the latest versions is really simple:
    Code:
    set P4CLIENT=MY_WORKSPACE
    p4 sync //MAIN/MyProj-Version1/...
    My guess is that you could probably use some of the other command line options to get specific changelists. How much have you studied the documentation for the command line interface?

    2. VC6 also has a command line interface that is fairly easy to use. You can also generate a make file that can be run from the command line or a batch file. You can adjust the make file as necessary to build the right projects. If you VC6 workspace is set up properly, it should handle the dependencies.

    3. Again you can do this with a batch file or using a scripting language like Perl or vbScript. You just have to learn the language.

    You might also want to look for something like Ant or NAnt, which helps bring together all these different steps like make does. Maybe a combination of NAnt and some scripting will get what you want done, but you'll have to do work yourself learning these tools and setting them up. I actually had to do something very similar to this almost ten years ago when I started my first job. It wasn't that fun but I learned some new tools and got it running.

  3. #3
    Officially An Architect brewbuck's Avatar
    Join Date
    Mar 2007
    Location
    Portland, OR
    Posts
    7,396
    A) Move the old build tree off for archiving.
    B) Re-sync to the head (or the indicated CL#).
    C) Check out the buildnumber.h and roll the build number
    D) Commit the rolled build number
    C) Invoke the build script, which should be a part of your tree under source control along with everything else.
    D) Verify that all required components were successfully built.
    E) Stage the build into the staging area.

    I don't know how to batch build an MSVC project without first generating a makefile. Around here we use Jam to do builds and we don't have MSVC projects.
    Code:
    //try
    //{
    	if (a) do { f( b); } while(1);
    	else   do { f(!b); } while(1);
    //}

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Replies: 0
    Last Post: 06-08-2009, 05:33 PM
  2. CVS: How do you use it?
    By g4j31a5 in forum A Brief History of Cprogramming.com
    Replies: 3
    Last Post: 11-09-2006, 01:49 AM
  3. using VC6 link VC7 static lib error
    By George2 in forum C++ Programming
    Replies: 5
    Last Post: 06-29-2006, 10:58 PM
  4. boost::serialization + vc6
    By Koyaanisqatsi in forum C++ Programming
    Replies: 1
    Last Post: 12-01-2004, 05:43 PM
  5. Turtle CVS and sourceforge, no 'ls'
    By nickname_changed in forum A Brief History of Cprogramming.com
    Replies: 0
    Last Post: 08-05-2003, 03:19 AM