title: Modern Build tool suitable for Visual Studio MSBuild
body: <p>I'm new to build automation and Continuous Integration, but have done extensive research on the subject.</p>
  
  <p>First the question: assuming I have an unmanaged Visual C++ .sln file, and that I can build it with MsBuild, which modern build tool should I pick which allows me to easily perform pre/post build steps?</p>
  
  <p>I dont want "old" build tool like Ant, Nant, make, with its XML mess. I want something that can allow me to express freely what I want to do in a human-readble manner. Based on my research, it seems Waf, Scons, and Rake might fit the bill.</p>
  
  <p>Background of my environment:
  My source control is Subversion.
  My unit test framework is GoogleTest which produces JUnit-compatible XML files.
  I picked JIRA for my tracking tool.
  I picked TeamCity for my CI server.
  I use Visual Build to build my .sln file.</p>
  
  <p>I want to be able to write a simple build script (callable from my CI server) that would:</p>
  
  <p>1) Create a CI server workspace directory.
  <br>2) Check out code from SVN. (my repos is setup to use svn:externals to pull dependencies from my other repository)
  <br>3) Run Visual Build build file to build all projects/platforms combination in .sln.
  <br>4) Run static code analysis / dynamic code analysis tools
  <br>5) Gather results from MsBuild (whether compile fail, static/dynamic code analysis warnings, or unit test fail, etc) for CI server
  <br>6) CI server logs this and also links it to JIRA.</p>