diff --git a/.gitignore b/.gitignore
index a0574c32..0e4b7c79 100644
--- a/.gitignore
+++ b/.gitignore
@@ -72,6 +72,7 @@ ipch/
*.ncb
*.opensdf
*.sdf
+*.vcxproj.filters
# Visual Studio profiler
*.psess
diff --git a/Squirrel.sln b/Squirrel.sln
index 9bad59b4..04536335 100644
--- a/Squirrel.sln
+++ b/Squirrel.sln
@@ -7,20 +7,48 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Squirrel", "src\Squirrel\Sq
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Squirrel.Tests", "test\Squirrel.Tests.csproj", "{98AEB048-E27D-42F4-9440-505B7F78BAFD}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Setup", "src\Setup\Setup.vcxproj", "{C1D40624-A484-438A-B846-052F321C89D1}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
+ Debug|Mixed Platforms = Debug|Mixed Platforms
+ Debug|Win32 = Debug|Win32
Release|Any CPU = Release|Any CPU
+ Release|Mixed Platforms = Release|Mixed Platforms
+ Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{1436E22A-FE3C-4D68-9A85-9E74DF2E6A92}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1436E22A-FE3C-4D68-9A85-9E74DF2E6A92}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1436E22A-FE3C-4D68-9A85-9E74DF2E6A92}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {1436E22A-FE3C-4D68-9A85-9E74DF2E6A92}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {1436E22A-FE3C-4D68-9A85-9E74DF2E6A92}.Debug|Win32.ActiveCfg = Debug|Any CPU
{1436E22A-FE3C-4D68-9A85-9E74DF2E6A92}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1436E22A-FE3C-4D68-9A85-9E74DF2E6A92}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1436E22A-FE3C-4D68-9A85-9E74DF2E6A92}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {1436E22A-FE3C-4D68-9A85-9E74DF2E6A92}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {1436E22A-FE3C-4D68-9A85-9E74DF2E6A92}.Release|Win32.ActiveCfg = Release|Any CPU
{98AEB048-E27D-42F4-9440-505B7F78BAFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{98AEB048-E27D-42F4-9440-505B7F78BAFD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {98AEB048-E27D-42F4-9440-505B7F78BAFD}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {98AEB048-E27D-42F4-9440-505B7F78BAFD}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {98AEB048-E27D-42F4-9440-505B7F78BAFD}.Debug|Win32.ActiveCfg = Debug|Any CPU
{98AEB048-E27D-42F4-9440-505B7F78BAFD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{98AEB048-E27D-42F4-9440-505B7F78BAFD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {98AEB048-E27D-42F4-9440-505B7F78BAFD}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {98AEB048-E27D-42F4-9440-505B7F78BAFD}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {98AEB048-E27D-42F4-9440-505B7F78BAFD}.Release|Win32.ActiveCfg = Release|Any CPU
+ {C1D40624-A484-438A-B846-052F321C89D1}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {C1D40624-A484-438A-B846-052F321C89D1}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+ {C1D40624-A484-438A-B846-052F321C89D1}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+ {C1D40624-A484-438A-B846-052F321C89D1}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C1D40624-A484-438A-B846-052F321C89D1}.Debug|Win32.Build.0 = Debug|Win32
+ {C1D40624-A484-438A-B846-052F321C89D1}.Release|Any CPU.ActiveCfg = Release|Win32
+ {C1D40624-A484-438A-B846-052F321C89D1}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+ {C1D40624-A484-438A-B846-052F321C89D1}.Release|Mixed Platforms.Build.0 = Release|Win32
+ {C1D40624-A484-438A-B846-052F321C89D1}.Release|Win32.ActiveCfg = Release|Win32
+ {C1D40624-A484-438A-B846-052F321C89D1}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/src/Setup/Setup.h b/src/Setup/Setup.h
new file mode 100644
index 00000000..d00d47e7
--- /dev/null
+++ b/src/Setup/Setup.h
@@ -0,0 +1,3 @@
+#pragma once
+
+#include "resource.h"
diff --git a/src/Setup/Setup.ico b/src/Setup/Setup.ico
new file mode 100644
index 00000000..449296f4
Binary files /dev/null and b/src/Setup/Setup.ico differ
diff --git a/src/Setup/Setup.rc b/src/Setup/Setup.rc
new file mode 100644
index 00000000..8f7f35b5
Binary files /dev/null and b/src/Setup/Setup.rc differ
diff --git a/src/Setup/Setup.vcxproj b/src/Setup/Setup.vcxproj
new file mode 100644
index 00000000..7eda01b2
--- /dev/null
+++ b/src/Setup/Setup.vcxproj
@@ -0,0 +1,103 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {C1D40624-A484-438A-B846-052F321C89D1}
+ Win32Proj
+ Setup
+
+
+
+ Application
+ true
+ v120
+ Unicode
+
+
+ Application
+ false
+ v120
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ $(ProjectDir)bin\$(Configuration)\
+ $(ProjectDir)obj\$(Configuration)\
+
+
+ false
+
+
+
+ Use
+ Level3
+ Disabled
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ Use
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+ Create
+ Create
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Setup/resource.h b/src/Setup/resource.h
new file mode 100644
index 00000000..f4d1eba0
Binary files /dev/null and b/src/Setup/resource.h differ
diff --git a/src/Setup/small.ico b/src/Setup/small.ico
new file mode 100644
index 00000000..449296f4
Binary files /dev/null and b/src/Setup/small.ico differ
diff --git a/src/Setup/stdafx.cpp b/src/Setup/stdafx.cpp
new file mode 100644
index 00000000..89ef9881
--- /dev/null
+++ b/src/Setup/stdafx.cpp
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// Setup.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file
diff --git a/src/Setup/stdafx.h b/src/Setup/stdafx.h
new file mode 100644
index 00000000..599d43c4
--- /dev/null
+++ b/src/Setup/stdafx.h
@@ -0,0 +1,19 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+
+#pragma once
+
+#include "targetver.h"
+
+#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
+
+// Windows Header Files:
+#include
+
+// C RunTime Header Files
+#include
+#include
+#include
+#include
diff --git a/src/Setup/targetver.h b/src/Setup/targetver.h
new file mode 100644
index 00000000..2a286672
--- /dev/null
+++ b/src/Setup/targetver.h
@@ -0,0 +1,11 @@
+#pragma once
+
+// Including SDKDDKVer.h defines the highest available Windows platform.
+
+// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
+// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
+
+#include
+
+#define _WIN32_WINNT 0x0600
+#include
diff --git a/src/Setup/winmain.cpp b/src/Setup/winmain.cpp
new file mode 100644
index 00000000..51f7de28
--- /dev/null
+++ b/src/Setup/winmain.cpp
@@ -0,0 +1,13 @@
+// Setup.cpp : Defines the entry point for the application.
+//
+
+#include "stdafx.h"
+#include "Setup.h"
+
+int APIENTRY WinMain(_In_ HINSTANCE hInstance,
+ _In_opt_ HINSTANCE hPrevInstance,
+ _In_ LPWSTR lpCmdLine,
+ _In_ int nCmdShow)
+{
+ return 0;
+}
\ No newline at end of file