diff --git a/ProGen/ProGen_vs100.sln b/ProGen/ProGen_vs100.sln
new file mode 100644
index 000000000..14325630b
--- /dev/null
+++ b/ProGen/ProGen_vs100.sln
@@ -0,0 +1,37 @@
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ProGen", "ProGen_vs100.vcxproj", "{52FEE79E-C183-4981-B6D0-106CF4A67B3A}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ debug_shared|Win32 = debug_shared|Win32
+ release_shared|Win32 = release_shared|Win32
+ debug_static_mt|Win32 = debug_static_mt|Win32
+ release_static_mt|Win32 = release_static_mt|Win32
+ debug_static_md|Win32 = debug_static_md|Win32
+ release_static_md|Win32 = release_static_md|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_shared|Win32.Build.0 = debug_shared|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_shared|Win32.ActiveCfg = release_shared|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_shared|Win32.Build.0 = release_shared|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_shared|Win32.Deploy.0 = release_shared|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_md|Win32.Build.0 = release_static_md|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/ProGen/ProGen_vs100.vcxproj b/ProGen/ProGen_vs100.vcxproj
new file mode 100644
index 000000000..c67a17bef
--- /dev/null
+++ b/ProGen/ProGen_vs100.vcxproj
@@ -0,0 +1,306 @@
+
+
+
+
+ debug_shared
+ Win32
+
+
+ debug_static_md
+ Win32
+
+
+ debug_static_mt
+ Win32
+
+
+ release_shared
+ Win32
+
+
+ release_static_md
+ Win32
+
+
+ release_static_mt
+ Win32
+
+
+
+ ProGen
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}
+ ProGen
+ Win32Proj
+
+
+
+ Application
+ MultiByte
+
+
+ Application
+ MultiByte
+
+
+ Application
+ MultiByte
+
+
+ Application
+ MultiByte
+
+
+ Application
+ MultiByte
+
+
+ Application
+ MultiByte
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.40219.1
+ bin\
+ obj\$(Configuration)\
+ true
+ bin\
+ obj\$(Configuration)\
+ false
+ bin\static_mt\
+ obj\$(Configuration)\
+ true
+ bin\static_mt\
+ obj\$(Configuration)\
+ false
+ bin\static_md\
+ obj\$(Configuration)\
+ true
+ bin\static_md\
+ obj\$(Configuration)\
+ false
+ progend
+ progend
+ progend
+ progen
+ progen
+ progen
+
+
+
+ Disabled
+ .\include;..\Foundation\include;..\XML\include;..\Util\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)
+ true
+ true
+ EnableFastChecks
+ MultiThreadedDebugDLL
+ true
+ true
+ true
+ true
+
+ Level3
+ EditAndContinue
+ Default
+ %(DisableSpecificWarnings)
+
+
+ ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)
+ bin\progend.exe
+ ..\lib;%(AdditionalLibraryDirectories)
+ true
+ true
+ bin\progend.pdb
+ Console
+ MachineX86
+
+
+
+
+ Disabled
+ OnlyExplicitInline
+ true
+ Speed
+ true
+ .\include;..\Foundation\include;..\XML\include;..\Util\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)
+ true
+ MultiThreadedDLL
+ false
+ true
+ true
+ true
+
+ Level3
+
+ Default
+ %(DisableSpecificWarnings)
+
+
+ ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)
+ bin\progen.exe
+ ..\lib;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+ MachineX86
+
+
+
+
+ Disabled
+ .\include;..\Foundation\include;..\XML\include;..\Util\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)
+ true
+ true
+ EnableFastChecks
+ MultiThreadedDebug
+ true
+ true
+ true
+ true
+
+ Level3
+ EditAndContinue
+ Default
+ %(DisableSpecificWarnings)
+
+
+ iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)
+ bin\static_mt\progend.exe
+ ..\lib;%(AdditionalLibraryDirectories)
+ true
+ true
+ bin\static_mt\progend.pdb
+ Console
+ MachineX86
+
+
+
+
+ Disabled
+ OnlyExplicitInline
+ true
+ Speed
+ true
+ .\include;..\Foundation\include;..\XML\include;..\Util\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ false
+ true
+ true
+ true
+
+ Level3
+
+ Default
+ %(DisableSpecificWarnings)
+
+
+ iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)
+ bin\static_mt\progen.exe
+ ..\lib;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+ MachineX86
+
+
+
+
+ Disabled
+ .\include;..\Foundation\include;..\XML\include;..\Util\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)
+ true
+ true
+ EnableFastChecks
+ MultiThreadedDebugDLL
+ true
+ true
+ true
+ true
+
+ Level3
+ EditAndContinue
+ Default
+ %(DisableSpecificWarnings)
+
+
+ iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)
+ bin\static_md\progend.exe
+ ..\lib;%(AdditionalLibraryDirectories)
+ true
+ true
+ bin\static_md\progend.pdb
+ Console
+ MachineX86
+
+
+
+
+ Disabled
+ OnlyExplicitInline
+ true
+ Speed
+ true
+ .\include;..\Foundation\include;..\XML\include;..\Util\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)
+ true
+ MultiThreadedDLL
+ false
+ true
+ true
+ true
+
+ Level3
+
+ Default
+ %(DisableSpecificWarnings)
+
+
+ iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)
+ bin\static_md\progen.exe
+ ..\lib;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+ MachineX86
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ProGen/ProGen_vs100.vcxproj.filters b/ProGen/ProGen_vs100.vcxproj.filters
new file mode 100644
index 000000000..71111d090
--- /dev/null
+++ b/ProGen/ProGen_vs100.vcxproj.filters
@@ -0,0 +1,32 @@
+
+
+
+
+ {49bc260d-2c44-4c17-a2af-00ac61405d85}
+
+
+ {f205d7c5-4f45-4adc-a559-4a2e4c755912}
+
+
+ {b30c2494-75cc-484e-8770-b564d718fd4b}
+
+
+
+
+ Configuration Files
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+ Header Files
+
+
+
\ No newline at end of file
diff --git a/ProGen/ProGen_vs100.vcxproj.user b/ProGen/ProGen_vs100.vcxproj.user
new file mode 100644
index 000000000..695b5c78b
--- /dev/null
+++ b/ProGen/ProGen_vs100.vcxproj.user
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/ProGen/ProGen_vs71.sln b/ProGen/ProGen_vs71.sln
new file mode 100644
index 000000000..f8241ff8c
--- /dev/null
+++ b/ProGen/ProGen_vs71.sln
@@ -0,0 +1,33 @@
+Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ProGen", "ProGen_vs71.vcproj", "{52FEE79E-C183-4981-B6D0-106CF4A67B3A}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfiguration) = preSolution
+ debug_shared = debug_shared
+ release_shared = release_shared
+ debug_static_mt = debug_static_mt
+ release_static_mt = release_static_mt
+ debug_static_md = debug_static_md
+ release_static_md = release_static_md
+ EndGlobalSection
+ GlobalSection(ProjectConfiguration) = postSolution
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_shared.ActiveCfg = debug_shared|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_shared.Build.0 = debug_shared|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_shared.ActiveCfg = release_shared|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_shared.Build.0 = release_shared|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_mt.ActiveCfg = debug_static_mt|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_mt.Build.0 = debug_static_mt|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_mt.ActiveCfg = release_static_mt|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_mt.Build.0 = release_static_mt|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_md.ActiveCfg = debug_static_md|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_md.Build.0 = debug_static_md|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_md.ActiveCfg = release_static_md|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_md.Build.0 = release_static_md|Win32
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddIns) = postSolution
+ EndGlobalSection
+EndGlobal
diff --git a/ProGen/ProGen_vs71.vcproj b/ProGen/ProGen_vs71.vcproj
new file mode 100644
index 000000000..24dde01c2
--- /dev/null
+++ b/ProGen/ProGen_vs71.vcproj
@@ -0,0 +1,405 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ProGen/ProGen_vs80.sln b/ProGen/ProGen_vs80.sln
new file mode 100644
index 000000000..d1fe9b5a7
--- /dev/null
+++ b/ProGen/ProGen_vs80.sln
@@ -0,0 +1,37 @@
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ProGen", "ProGen_vs80.vcproj", "{52FEE79E-C183-4981-B6D0-106CF4A67B3A}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ debug_shared|Win32 = debug_shared|Win32
+ release_shared|Win32 = release_shared|Win32
+ debug_static_mt|Win32 = debug_static_mt|Win32
+ release_static_mt|Win32 = release_static_mt|Win32
+ debug_static_md|Win32 = debug_static_md|Win32
+ release_static_md|Win32 = release_static_md|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_shared|Win32.Build.0 = debug_shared|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_shared|Win32.ActiveCfg = release_shared|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_shared|Win32.Build.0 = release_shared|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_shared|Win32.Deploy.0 = release_shared|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_md|Win32.Build.0 = release_static_md|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/ProGen/ProGen_vs80.vcproj b/ProGen/ProGen_vs80.vcproj
new file mode 100644
index 000000000..b5644eb73
--- /dev/null
+++ b/ProGen/ProGen_vs80.vcproj
@@ -0,0 +1,445 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ProGen/ProGen_vs90.sln b/ProGen/ProGen_vs90.sln
new file mode 100644
index 000000000..5cff2511d
--- /dev/null
+++ b/ProGen/ProGen_vs90.sln
@@ -0,0 +1,37 @@
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ProGen", "ProGen_vs90.vcproj", "{52FEE79E-C183-4981-B6D0-106CF4A67B3A}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ debug_shared|Win32 = debug_shared|Win32
+ release_shared|Win32 = release_shared|Win32
+ debug_static_mt|Win32 = debug_static_mt|Win32
+ release_static_mt|Win32 = release_static_mt|Win32
+ debug_static_md|Win32 = debug_static_md|Win32
+ release_static_md|Win32 = release_static_md|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_shared|Win32.Build.0 = debug_shared|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_shared|Win32.ActiveCfg = release_shared|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_shared|Win32.Build.0 = release_shared|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_shared|Win32.Deploy.0 = release_shared|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_md|Win32.Build.0 = release_static_md|Win32
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/ProGen/ProGen_vs90.vcproj b/ProGen/ProGen_vs90.vcproj
new file mode 100644
index 000000000..fb4a736ff
--- /dev/null
+++ b/ProGen/ProGen_vs90.vcproj
@@ -0,0 +1,445 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ProGen/ProGen_x64_vs100.sln b/ProGen/ProGen_x64_vs100.sln
new file mode 100644
index 000000000..f76ae5f7f
--- /dev/null
+++ b/ProGen/ProGen_x64_vs100.sln
@@ -0,0 +1,37 @@
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ProGen", "ProGen_x64_vs100.vcxproj", "{52FEE79E-C183-4981-B6D0-106CF4A67B3A}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ debug_shared|x64 = debug_shared|x64
+ release_shared|x64 = release_shared|x64
+ debug_static_mt|x64 = debug_static_mt|x64
+ release_static_mt|x64 = release_static_mt|x64
+ debug_static_md|x64 = debug_static_md|x64
+ release_static_md|x64 = release_static_md|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_shared|x64.ActiveCfg = debug_shared|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_shared|x64.Build.0 = debug_shared|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_shared|x64.Deploy.0 = debug_shared|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_shared|x64.ActiveCfg = release_shared|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_shared|x64.Build.0 = release_shared|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_shared|x64.Deploy.0 = release_shared|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_mt|x64.Build.0 = release_static_mt|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_md|x64.Build.0 = debug_static_md|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_md|x64.ActiveCfg = release_static_md|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_md|x64.Build.0 = release_static_md|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_md|x64.Deploy.0 = release_static_md|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/ProGen/ProGen_x64_vs100.vcxproj b/ProGen/ProGen_x64_vs100.vcxproj
new file mode 100644
index 000000000..202bfcdd4
--- /dev/null
+++ b/ProGen/ProGen_x64_vs100.vcxproj
@@ -0,0 +1,306 @@
+
+
+
+
+ debug_shared
+ x64
+
+
+ debug_static_md
+ x64
+
+
+ debug_static_mt
+ x64
+
+
+ release_shared
+ x64
+
+
+ release_static_md
+ x64
+
+
+ release_static_mt
+ x64
+
+
+
+ ProGen
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}
+ ProGen
+ Win32Proj
+
+
+
+ Application
+ MultiByte
+
+
+ Application
+ MultiByte
+
+
+ Application
+ MultiByte
+
+
+ Application
+ MultiByte
+
+
+ Application
+ MultiByte
+
+
+ Application
+ MultiByte
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.40219.1
+ bin64\
+ obj64\$(Configuration)\
+ true
+ bin64\
+ obj64\$(Configuration)\
+ false
+ bin64\static_mt\
+ obj64\$(Configuration)\
+ true
+ bin64\static_mt\
+ obj64\$(Configuration)\
+ false
+ bin64\static_md\
+ obj64\$(Configuration)\
+ true
+ bin64\static_md\
+ obj64\$(Configuration)\
+ false
+ progend
+ progend
+ progend
+ progen
+ progen
+ progen
+
+
+
+ Disabled
+ .\include;..\Foundation\include;..\XML\include;..\Util\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)
+ true
+ true
+ EnableFastChecks
+ MultiThreadedDebugDLL
+ true
+ true
+ true
+ true
+
+ Level3
+ ProgramDatabase
+ Default
+ %(DisableSpecificWarnings)
+
+
+ ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)
+ bin64\progend.exe
+ ..\lib64;%(AdditionalLibraryDirectories)
+ true
+ true
+ bin64\progend.pdb
+ Console
+ MachineX64
+
+
+
+
+ Disabled
+ OnlyExplicitInline
+ true
+ Speed
+ true
+ .\include;..\Foundation\include;..\XML\include;..\Util\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)
+ true
+ MultiThreadedDLL
+ false
+ true
+ true
+ true
+
+ Level3
+
+ Default
+ %(DisableSpecificWarnings)
+
+
+ ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)
+ bin64\progen.exe
+ ..\lib64;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+ MachineX64
+
+
+
+
+ Disabled
+ .\include;..\Foundation\include;..\XML\include;..\Util\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)
+ true
+ true
+ EnableFastChecks
+ MultiThreadedDebug
+ true
+ true
+ true
+ true
+
+ Level3
+ ProgramDatabase
+ Default
+ %(DisableSpecificWarnings)
+
+
+ iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)
+ bin64\static_mt\progend.exe
+ ..\lib64;%(AdditionalLibraryDirectories)
+ true
+ true
+ bin64\static_mt\progend.pdb
+ Console
+ MachineX64
+
+
+
+
+ Disabled
+ OnlyExplicitInline
+ true
+ Speed
+ true
+ .\include;..\Foundation\include;..\XML\include;..\Util\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ false
+ true
+ true
+ true
+
+ Level3
+
+ Default
+ %(DisableSpecificWarnings)
+
+
+ iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)
+ bin64\static_mt\progen.exe
+ ..\lib64;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+ MachineX64
+
+
+
+
+ Disabled
+ .\include;..\Foundation\include;..\XML\include;..\Util\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)
+ true
+ true
+ EnableFastChecks
+ MultiThreadedDebugDLL
+ true
+ true
+ true
+ true
+
+ Level3
+ ProgramDatabase
+ Default
+ %(DisableSpecificWarnings)
+
+
+ iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)
+ bin64\static_md\progend.exe
+ ..\lib64;%(AdditionalLibraryDirectories)
+ true
+ true
+ bin64\static_md\progend.pdb
+ Console
+ MachineX64
+
+
+
+
+ Disabled
+ OnlyExplicitInline
+ true
+ Speed
+ true
+ .\include;..\Foundation\include;..\XML\include;..\Util\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)
+ true
+ MultiThreadedDLL
+ false
+ true
+ true
+ true
+
+ Level3
+
+ Default
+ %(DisableSpecificWarnings)
+
+
+ iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)
+ bin64\static_md\progen.exe
+ ..\lib64;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+ MachineX64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ProGen/ProGen_x64_vs100.vcxproj.filters b/ProGen/ProGen_x64_vs100.vcxproj.filters
new file mode 100644
index 000000000..3ad1f3dc2
--- /dev/null
+++ b/ProGen/ProGen_x64_vs100.vcxproj.filters
@@ -0,0 +1,32 @@
+
+
+
+
+ {2477f3c0-d1eb-4a44-af7b-ea0064295001}
+
+
+ {cba011a4-fb48-4468-966d-444b81c916fe}
+
+
+ {2d704ffc-fe67-4e8f-9e7b-fd8a15faf3da}
+
+
+
+
+ Configuration Files
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+ Header Files
+
+
+
\ No newline at end of file
diff --git a/ProGen/ProGen_x64_vs100.vcxproj.user b/ProGen/ProGen_x64_vs100.vcxproj.user
new file mode 100644
index 000000000..695b5c78b
--- /dev/null
+++ b/ProGen/ProGen_x64_vs100.vcxproj.user
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/ProGen/ProGen_x64_vs90.sln b/ProGen/ProGen_x64_vs90.sln
new file mode 100644
index 000000000..fa32216e2
--- /dev/null
+++ b/ProGen/ProGen_x64_vs90.sln
@@ -0,0 +1,37 @@
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ProGen", "ProGen_x64_vs90.vcproj", "{52FEE79E-C183-4981-B6D0-106CF4A67B3A}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ debug_shared|x64 = debug_shared|x64
+ release_shared|x64 = release_shared|x64
+ debug_static_mt|x64 = debug_static_mt|x64
+ release_static_mt|x64 = release_static_mt|x64
+ debug_static_md|x64 = debug_static_md|x64
+ release_static_md|x64 = release_static_md|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_shared|x64.ActiveCfg = debug_shared|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_shared|x64.Build.0 = debug_shared|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_shared|x64.Deploy.0 = debug_shared|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_shared|x64.ActiveCfg = release_shared|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_shared|x64.Build.0 = release_shared|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_shared|x64.Deploy.0 = release_shared|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_mt|x64.Build.0 = release_static_mt|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_md|x64.Build.0 = debug_static_md|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_md|x64.ActiveCfg = release_static_md|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_md|x64.Build.0 = release_static_md|x64
+ {52FEE79E-C183-4981-B6D0-106CF4A67B3A}.release_static_md|x64.Deploy.0 = release_static_md|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/ProGen/ProGen_x64_vs90.vcproj b/ProGen/ProGen_x64_vs90.vcproj
new file mode 100644
index 000000000..0d53d0cdd
--- /dev/null
+++ b/ProGen/ProGen_x64_vs90.vcproj
@@ -0,0 +1,445 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ProGen/progen.properties b/ProGen/progen.properties
new file mode 100644
index 000000000..4e1b103f5
--- /dev/null
+++ b/ProGen/progen.properties
@@ -0,0 +1,15 @@
+progen.templatePath = ${application.configDir}templates
+progen.libsuffix.debug_shared = d.lib
+progen.libsuffix.debug_static_md = mdd.lib
+progen.libsuffix.debug_static_mt = mtd.lib
+progen.libsuffix.release_shared = .lib
+progen.libsuffix.release_static_md = md.lib
+progen.libsuffix.release_static_mt = mt.lib
+progen.project.guidFromName.namespaceUUID = F4193868-E4EB-4090-9A01-344E7233004B
+progen.postprocess.upgrade2008to2010.tool = C:\\Program Files\\Microsoft Visual Studio 10.0\\Common7\\IDE\\DevEnv.exe
+progen.postprocess.upgrade2008to2010.args = %;/Upgrade
+progen.postprocess.upgrade2008to2010.deleteOriginalFile = true
+progen.postprocess.upgrade2008to2010.deleteFiles = Backup;_UpgradeReport_Files;UpgradeLog.XML
+progen.postprocess.upgrade2008to2010.fix2010ProjectFile = true
+progen.backupProjectFile = false
+progen.solution.applicationGUID = 8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942
diff --git a/ProGen/src/ProGen.cpp b/ProGen/src/ProGen.cpp
new file mode 100644
index 000000000..18c96b56f
--- /dev/null
+++ b/ProGen/src/ProGen.cpp
@@ -0,0 +1,829 @@
+//
+// ProGen.cpp
+//
+// $Id: //poco/1.4/ProGen/src/ProGen.cpp#4 $
+//
+// Visual Studio project file generator.
+//
+// Copyright (c) 2010, Applied Informatics Software Engineering GmbH.
+// and Contributors.
+//
+// Permission is hereby granted, free of charge, to any person or organization
+// obtaining a copy of the software and accompanying documentation covered by
+// this license (the "Software") to use, reproduce, display, distribute,
+// execute, and transmit the Software, and to prepare derivative works of the
+// Software, and to permit third-parties to whom the Software is furnished to
+// do so, all subject to the following:
+//
+// The copyright notices in the Software and this entire statement, including
+// the above license grant, this restriction and the following disclaimer,
+// must be included in all copies of the Software, in whole or in part, and
+// all derivative works of the Software, unless such copies or derivative
+// works are solely in the form of machine-executable object code generated by
+// a source language processor.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+// DEALINGS IN THE SOFTWARE.
+//
+
+
+#include "Poco/Util/Application.h"
+#include "Poco/Util/Option.h"
+#include "Poco/Util/OptionSet.h"
+#include "Poco/Util/HelpFormatter.h"
+#include "Poco/Util/AbstractConfiguration.h"
+#include "Poco/Util/MapConfiguration.h"
+#include "Poco/Util/PropertyFileConfiguration.h"
+#include "Poco/DOM/Document.h"
+#include "Poco/DOM/Element.h"
+#include "Poco/DOM/NamedNodeMap.h"
+#include "Poco/DOM/Attr.h"
+#include "Poco/DOM/Text.h"
+#include "Poco/DOM/DOMParser.h"
+#include "Poco/DOM/DOMSerializer.h"
+#include "Poco/DOM/DOMWriter.h"
+#include "Poco/DOM/TreeWalker.h"
+#include "Poco/DOM/NodeFilter.h"
+#include "Poco/DOM/NodeList.h"
+#include "Poco/XML/XMLWriter.h"
+#include "Poco/Windows1252Encoding.h"
+#include "Poco/AutoPtr.h"
+#include "Poco/FileStream.h"
+#include "Poco/Path.h"
+#include "Poco/File.h"
+#include "Poco/StringTokenizer.h"
+#include "Poco/UUIDGenerator.h"
+#include "Poco/UUID.h"
+#include "Poco/String.h"
+#include "Poco/Process.h"
+#include "VSXMLWriter.h"
+#include
+#include
+
+
+using Poco::Util::Application;
+using Poco::Util::Option;
+using Poco::Util::OptionSet;
+using Poco::Util::HelpFormatter;
+using Poco::Util::AbstractConfiguration;
+using Poco::Util::OptionCallback;
+using Poco::AutoPtr;
+using Poco::FileInputStream;
+using Poco::FileOutputStream;
+using Poco::Path;
+using Poco::StringTokenizer;
+
+
+class ProGenApp: public Application
+{
+public:
+ ProGenApp():
+ _helpRequested(false),
+ _outputDir(Poco::Path::current())
+ {
+ }
+
+protected:
+ void initialize(Application& self)
+ {
+ loadConfiguration(); // load default configuration files, if present
+ Application::initialize(self);
+ }
+
+ void defineOptions(OptionSet& options)
+ {
+ Application::defineOptions(options);
+
+ options.addOption(
+ Option("help", "h", "Display help information on command line arguments.")
+ .required(false)
+ .repeatable(false)
+ .callback(OptionCallback(this, &ProGenApp::handleHelp)));
+
+ options.addOption(
+ Option("define", "D",
+ "Define a configuration property. A configuration property "
+ "defined with this option can be referenced in the project "
+ "properties file, using the following syntax: ${}.")
+ .required(false)
+ .repeatable(true)
+ .argument("=")
+ .callback(OptionCallback(this, &ProGenApp::handleDefine)));
+
+ options.addOption(
+ Option("output-dir", "o", "Write project files to directory .")
+ .required(false)
+ .repeatable(false)
+ .argument("")
+ .callback(OptionCallback(this, &ProGenApp::handleOutputDir)));
+
+ options.addOption(
+ Option("platform", "p", "Generate project files for specified platforms only.")
+ .required(false)
+ .repeatable(true)
+ .argument("{,}")
+ .callback(OptionCallback(this, &ProGenApp::handlePlatform)));
+
+ options.addOption(
+ Option("tool", "t", "Generate project files for specified tools only.")
+ .required(false)
+ .repeatable(true)
+ .argument("{,}")
+ .callback(OptionCallback(this, &ProGenApp::handleTool)));
+ }
+
+ void handleHelp(const std::string& name, const std::string& value)
+ {
+ _helpRequested = true;
+ stopOptionsProcessing();
+ }
+
+ void handleDefine(const std::string& name, const std::string& value)
+ {
+ defineProperty(value);
+ }
+
+ void handleOutputDir(const std::string& name, const std::string& value)
+ {
+ _outputDir = value;
+ }
+
+ void handlePlatform(const std::string& name, const std::string& value)
+ {
+ Poco::StringTokenizer tok(value, ",;", Poco::StringTokenizer::TOK_TRIM | Poco::StringTokenizer::TOK_IGNORE_EMPTY);
+ _platforms.insert(tok.begin(), tok.end());
+ }
+
+ void handleTool(const std::string& name, const std::string& value)
+ {
+ Poco::StringTokenizer tok(value, ",;", Poco::StringTokenizer::TOK_TRIM | Poco::StringTokenizer::TOK_IGNORE_EMPTY);
+ _tools.insert(tok.begin(), tok.end());
+ }
+
+ void displayHelp()
+ {
+ HelpFormatter helpFormatter(options());
+ helpFormatter.setCommand(commandName());
+ helpFormatter.setUsage("[