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 <DIR> .
06/16/2008 07:22 PM <DIR> ..
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
nmakeas 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:
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
Attachments (1)
-
nmake_edit_cache.JPG
(123.9 KB
) - added by 14 years ago.
screenshot of windows gui cmake editor
Download all attachments as: .zip
