Run a command window with your development environment loaded. On a new vista box with Visual Studio 2008 Express, this is available at {{{ Start -> All Programs -> Visual Studio 2008 Express Edition -> Visual Studio Tools -> Visual Studio 2008 Command Prompt }}} Choose an empty directory to work in. I choose one where the path mirrors the path to the code in the svn repository: {{{ c:\boost\branches\CMake\release>dir Volume in drive C is OS Volume Serial Number is 6AC1-32E0 Directory of c:\boost\branches\CMake\release 06/16/2008 07:22 PM . 06/16/2008 07:22 PM .. 0 File(s) 0 bytes 2 Dir(s) 48,047,624,192 bytes free }}} Check that your pysvn and win32api python packages are installed correctly. These commands should just return without output: {{{ c:\boost\branches\CMake\release>python Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import pysvn >>> import win32api >>> exit() }}} Verify that nmake is in your path: {{{ c:\boost\branches\CMake\release>nmake Microsoft (R) Program Maintenance Utility Version 9.00.21022.08 Copyright (C) Microsoft Corporation. All rights reserved. NMAKE : fatal error U1064: MAKEFILE not found and no target specified Stop. }}} Check out the cmake release branch to directory `src` (wrapping and indentation on commandline are mine, for clarity: {{{ c:\boost\branches\CMake\release>svn co https://svn.boost.org/svn/boost/branches/CMake/release src A src\regression A src\configure A src\status A src\status\explicit-failures-markup.xml A src\status\explicit-failures.xsd A src\status\Jamfile.v2 A src\people ... A src\libs\filesystem\include\boost\filesystem\fstream.hpp A src\libs\filesystem\include\boost\filesystem\operations.hpp A src\libs\filesystem\include\boost\filesystem\config.hpp Checked out external at revision 46437. Checked out revision 46437. }}} Create a directory `build` at the same level as `src` and cd in there: {{{ c:\boost\branches\CMake\release>mkdir build c:\boost\branches\CMake\release>cd build }}} Now do the initial cmake configuration. The options are as follows: `BOOST_BUILD_SLAVE` Enable build slave mode `BUILD_TESTING` Turn on testing of libraries `-G"NMake Makefiles"` Generate nmake makefiles, not visual studio project files `CMAKE_MAKE_PROGRAM` Specify `nmake` as the make program It looks like this (the wrapping and indentation on the commandline are mine, for clarity): {{{ c:\boost\branches\CMake\release\build>cmake -DBOOST_BUILD_SLAVE=ON -DBUILD_TESTING=ON -G"NMake Makefiles" -DCMAKE_MAKE_PROGRAM:FILEPATH=nmake ../src -- The C compiler identification is MSVC -- The CXX compiler identification is MSVC -- Check for CL compiler version -- Check for CL compiler version - 1500 -- Check if this is a free VC compiler -- Check if this is a free VC compiler - no -- Check CL platform -- Check CL platform - 32 bit -- Check for working C compiler: C:/Program Files/Microsoft Visual Studio 9.0/VC /bin/cl.exe -- Check for working C compiler: C:/Program Files/Microsoft Visual Studio 9.0/VC /bin/cl.exe -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio 9.0/ VC/bin/cl.exe -- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio 9.0/ VC/bin/cl.exe -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Found PythonInterp: C:/Program Files/Python25/python.exe -- found python executable C:/Program Files/Python25/python.exe -- Found PythonLibs: C:/Program Files/Python25/libs/python25.lib -- found python includes C:/Program Files/Python25/include -- found python libs C:/Program Files/Python25/libs/python25.lib -- Configuring test/compile drivers -- Looking for doxygen... -- Looking for doxygen... - NOT found -- Looking for dot tool... -- Looking for dot tool... - NOT found -- + algorithm -- + any -- + array -- + assign -- + bind -- + circular_buffer -- + concept_check -- + config -- Performing Test tmp -- Performing Test tmp - Failed -- + conversion -- + crc -- + date_time -- + disjoint_sets -- + dynamic_bitset -- + system -- + filesystem -- + foreach -- + format -- + function -- + function_types -- + functional -- + gil -- + graph -- Could NOT find EXPAT -- + integer -- + io -- + iostreams -- + iterator -- + lambda -- + logic -- + math -- + serialization -- + mpi -- + mpl -- + multi_array -- + multi_index -- + numeric -- + optional -- + parameter -- + pool -- + preprocessor -- + program_options -- + property_map -- + ptr_container -- + python -- + quickbook -- + random -- + range -- + rational -- + regex -- + signals -- + smart_ptr -- + spirit -- + statechart -- + static_assert -- + test -- + thread -- + timer -- + tokenizer -- + tr1 -- libs/tr1/test/CMakeLists.txt: was this just cruft? Seems to duplicate first glob_test_compile line above -- + tuple -- + type_traits -- + typeof -- + utility -- + variant -- + wave -- + xpressive -- Configuring done -- Generating done -- Build files have been written to: C:/boost/branches/CMake/release/build }}} Create a file `slave-description.txt` and put in some descriptive text explaining anything peculiar about the slave's configuration, the site/location, etc. {{{ c:\boost\branches\CMake\release\build>notepad slave-description.txt }}} There are two last things to configure. Do so via `nmake edit_cache`: {{{ c:\boost\branches\CMake\release\build>nmake edit_cache Microsoft (R) Program Maintenance Utility Version 9.00.21022.08 Copyright (C) Microsoft Corporation. All rights reserved. Running CMake cache editor... }}} A gui cmake cache editor will pop up: [[Image(nmake_edit_cache.JPG)]] Set the highlighted fields (BOOST_BUILD_SLAVE_CONTACT_INFO and BOOST_BUILD_SLAVE_HOSTNAME. Highlighting is mine.) appropriately and press "OK" to generate makefiles and exit. Now notify the server that a slave build is about to start: {{{ c:\boost\branches\CMake\release\build>nmake slave-start Microsoft (R) Program Maintenance Utility Version 9.00.21022.08 Copyright (C) Microsoft Corporation. All rights reserved. Slave starting build Url: https://svn.boost.org/svn/boost/branches/CMake/release at rev 46437 FQDN: vista.dc.resophonic.com Uname: ('Microsoft', 'EvanXPS', 'Windows', '6.0.6000', '', '') Toolset: vc90 Notifying http://boost:boost@boost.resophonic.com/trac/login/xmlrpc of new build via XML-RPC Setting new build id 33 locally Built target slave-start }}} At this point you can check http://boost.resophonic.com/trac/traash and see that your build-in-progress is at the bottom of the list. Now do the build: {{{ c:\boost\branches\CMake\release\build>nmake /I test Microsoft (R) Program Maintenance Utility Version 9.00.21022.08 Copyright (C) Microsoft Corporation. All rights reserved. Scanning dependencies of target Algorithm-conv_test [ 0%] Building CXX object libs/algorithm/Algorithm-test/CMakeFiles/Algorithm-co nv_test.dir/conv_test.cpp.obj *** *** Executing op:cxx_compile_object *** ['C:\\PROGRA~1\\MICROS~1.0\\VC\\bin\\cl.exe', '@C:\\Users\\Evan\\AppData\\Lo cal\\Temp\\nm96EF.tmp'] *** log=C:\boost\branches\CMake\release\build\libs\algorithm\Algorithm-test\Log. marshal *** Linking CXX executable ..\..\..\bin\tests\Algorithm\conv_test.exe *** *** Executing op:link_executable *** ['C:\\Program Files\\CMake 2.6\\bin\\cmake.exe', '-E', 'vs_link_exe', 'C:\\P ROGRA~1\\MICROS~1.0\\VC\\bin\\cl.exe', '/nologo', '@CMakeFiles\\Algorithm-conv_t est.dir\\objects.rsp', '@C:\\Users\\Evan\\AppData\\Local\\Temp\\nmABD7.tmp'] *** log=C:\boost\branches\CMake\release\build\libs\algorithm\Algorithm-test\Log. marshal *** [ 0%] Built target Algorithm-conv_test Scanning dependencies of target Algorithm-conv_test-run Running conv_test in project Algorithm *** *** Executing op:run *** ['C:/boost/branches/CMake/release/build/bin/./tests/Algorithm/conv_test'] *** log=C:/boost/branches/CMake/release/build/libs/algorithm/Algorithm-test\Log. marshal *** [ 0%] Built target Algorithm-conv_test-run }}} When it finishes, notify the server that the run is done with {{{ c:\boost\branches\CMake\release\build>nmake slave-finish }}}