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"?>
16 ProjectType="Visual C++"
18 Name=""" + '"' + cppcodebase
.lib_name(lib_number
) + '"' + """
19 ProjectGUID="{""" + LibraryGUID(lib_number
) + """}"
28 OutputDirectory="Debug"
29 IntermediateDirectory="Debug"
33 Name="VCCLCompilerTool"
35 PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
36 AdditionalIncludeDirectories=".."
38 BasicRuntimeChecks="3"
40 UsePrecompiledHeader="0"
42 Detect64BitPortabilityProblems="TRUE"
43 DebugInformationFormat="4"/>
45 Name="VCCustomBuildTool"/>
47 Name="VCLibrarianTool"
48 OutputFile="$(OutDir)/""" + cppcodebase
.lib_name(lib_number
) + """.lib"/>
56 for i
in xrange(classes
):
57 handle
.write(' <File RelativePath=".\class_' + str(i
) + '.cpp"/>\n')
63 </VisualStudioProject>
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
)