Last week at work I was asked to start taking a look at migrating our development environment to TFS. I quickly spotted a problem (with the backing of lots of blogs around the net) in that Team Build only natively supports .NET projects (C#/VB.NET/J#). This presented us with a problem, because we have lots of native C and C++ projects (all of our core functionality is written in one of these two languages). So I set about figuring out how to get the MSBuild/Team Build server to build these solutions. After a LOT of surfing around different blogs, I finally came up with the right combination of tags to put in the MSBuild script XML file. Here's what I ended up with:

  <Target Name="AfterCompile">
      <Exec Command="&quot;C:\Program Files\Microsoft Visual Studio 8\VC\vcpackages\vcbuild&quot; &quot;$(SolutionRoot)\MyCppTest\mycpptest.sln&quot;"/>
      <Copy SourceFiles="$(SolutionRoot)\MyCppTest\release\MyCppTest.exe"  DestinationFolder="$(DropLocation)\$(BuildNumber)\Release" />

The above lines go in the TFSBuild.proj file, right at the bottom, before the </Project> end tag. There is probably another way of doing this, but I belive this solution solves our problems for the time being (until Microsoft release a version of Team Build that supports C/C++ solutions).

comments powered by Disqus