feat: add wren_lib static library project and refactor VS solution to separate CLI and VM sources

Add a new wren_lib static library project to the Visual Studio 2013 solution, moving all VM source files (wren_compiler.c, wren_core.c, wren_debug.c, wren_io.c, wren_utils.c, wren_value.c, wren_vm.c) from the wren executable project into the library. The wren project now only contains CLI-specific sources (main.c, io.c, vm.c) and links against wren_static_d.lib. Update .gitignore to exclude Debug/ and Release/ build output directories.
This commit is contained in:
Bryan C
2015-03-16 18:52:33 +00:00
parent 0d42d87689
commit 1c7dfe230d
6 changed files with 193 additions and 57 deletions
+10 -17
View File
@@ -42,10 +42,12 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);$(SolutionDir)..\..\src\include</IncludePath>
<LibraryPath>$(OutDir);$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<IncludePath>$(SolutionDir)..\..\src\include;$(IncludePath)</IncludePath>
<LibraryPath>$(OutDir);$(LibraryPath)</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
@@ -53,12 +55,13 @@
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\src;..\..\..\include</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>wren_static_d.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -69,7 +72,7 @@
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\src;..\..\..\include</AdditionalIncludeDirectories>
</ClCompile>
<Link>
@@ -77,28 +80,18 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>wren_static.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\src\cli\io.c" />
<ClCompile Include="..\..\..\src\cli\main.c" />
<ClCompile Include="..\..\..\src\vm\wren_compiler.c" />
<ClCompile Include="..\..\..\src\vm\wren_core.c" />
<ClCompile Include="..\..\..\src\vm\wren_debug.c" />
<ClCompile Include="..\..\..\src\vm\wren_io.c" />
<ClCompile Include="..\..\..\src\vm\wren_utils.c" />
<ClCompile Include="..\..\..\src\vm\wren_value.c" />
<ClCompile Include="..\..\..\src\vm\wren_vm.c" />
<ClCompile Include="..\..\..\src\cli\vm.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\src\cli\io.h" />
<ClInclude Include="..\..\..\src\cli\vm.h" />
<ClInclude Include="..\..\..\src\include\wren.h" />
<ClInclude Include="..\..\..\src\vm\wren_common.h" />
<ClInclude Include="..\..\..\src\vm\wren_compiler.h" />
<ClInclude Include="..\..\..\src\vm\wren_core.h" />
<ClInclude Include="..\..\..\src\vm\wren_debug.h" />
<ClInclude Include="..\..\..\src\vm\wren_io.h" />
<ClInclude Include="..\..\..\src\vm\wren_utils.h" />
<ClInclude Include="..\..\..\src\vm\wren_value.h" />
<ClInclude Include="..\..\..\src\vm\wren_vm.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
+4 -37
View File
@@ -18,25 +18,10 @@
<ClCompile Include="..\..\..\src\cli\main.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\vm\wren_compiler.c">
<ClCompile Include="..\..\..\src\cli\io.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\vm\wren_core.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\vm\wren_debug.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\vm\wren_io.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\vm\wren_utils.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\vm\wren_value.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\vm\wren_vm.c">
<ClCompile Include="..\..\..\src\cli\vm.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
@@ -44,28 +29,10 @@
<ClInclude Include="..\..\..\src\include\wren.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\wren_common.h">
<ClInclude Include="..\..\..\src\cli\io.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\wren_compiler.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\wren_core.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\wren_debug.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\wren_io.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\wren_utils.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\wren_value.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\wren_vm.h">
<ClInclude Include="..\..\..\src\cli\vm.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>