Adapt build script for changes to argument interpretation in fabricate's Builder...
[build-benchmarks.git] / msvc2003.py
blob35e040d0754e4367cd19f3415fde489298a07e95
1 #!/usr/bin/python
3 import os
4 import cppcodebase
5 import random
8 def LibraryGUID(lib_number):
9 return 'CF495178-8865-4D20-939D-AAA' + '%07d' % (lib_number)
11 def CreateMSVCProjFile(lib_number, classes):
12 os.chdir(cppcodebase.lib_name(lib_number))
13 handle = file("lib_" + str(lib_number) + ".vcproj", "w")
14 handle.write("""<?xml version="1.0" encoding="Windows-1252"?>
15 <VisualStudioProject
16 ProjectType="Visual C++"
17 Version="7.10"
18 Name=""" + '"' + cppcodebase.lib_name(lib_number) + '"' + """
19 ProjectGUID="{""" + LibraryGUID(lib_number) + """}"
20 Keyword="Win32Proj">
21 <Platforms>
22 <Platform
23 Name="Win32"/>
24 </Platforms>
25 <Configurations>
26 <Configuration
27 Name="Debug|Win32"
28 OutputDirectory="Debug"
29 IntermediateDirectory="Debug"
30 ConfigurationType="4"
31 CharacterSet="2">
32 <Tool
33 Name="VCCLCompilerTool"
34 Optimization="0"
35 PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
36 AdditionalIncludeDirectories=".."
37 MinimalRebuild="TRUE"
38 BasicRuntimeChecks="3"
39 RuntimeLibrary="5"
40 UsePrecompiledHeader="0"
41 WarningLevel="3"
42 Detect64BitPortabilityProblems="TRUE"
43 DebugInformationFormat="4"/>
44 <Tool
45 Name="VCCustomBuildTool"/>
46 <Tool
47 Name="VCLibrarianTool"
48 OutputFile="$(OutDir)/""" + cppcodebase.lib_name(lib_number) + """.lib"/>
49 </Configuration>
50 </Configurations>
51 <References>
52 </References>
53 <Files>
54 """)
56 for i in xrange(classes):
57 handle.write(' <File RelativePath=".\class_' + str(i) + '.cpp"/>\n')
59 handle.write("""
60 </Files>
61 <Globals>
62 </Globals>
63 </VisualStudioProject>
64 """)
65 os.chdir('..')
68 def CreateMSVCSolution(libs):
69 handle = file("solution.sln", "w")
70 handle.write("Microsoft Visual Studio Solution File, Format Version 8.00\n")
72 for i in xrange(libs):
73 project_name = cppcodebase.lib_name(i) + '\\' + cppcodebase.lib_name(i) + '.vcproj'
74 handle.write('Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "' + cppcodebase.lib_name(i) +
75 '", "' + project_name + '", "{' + LibraryGUID(i) + '}"\n')
76 handle.write('EndProject\n')
79 def CreateCodebase(libs, classes, internal_includes, external_includes):
80 cppcodebase.SetDir('msvc2003')
81 cppcodebase.CreateSetOfLibraries(libs, classes, internal_includes, external_includes, CreateMSVCProjFile)
82 CreateMSVCSolution(libs)
83 os.chdir('..')