commit 1bf13c2103b933707c053d85806142ee402c2611
parent 7e8a9d7fea3eb03be16881c0274250003619f7ef
Author: Brian Swetland <swetland@frotz.net>
Date: Sun, 10 Feb 2013 07:16:05 -0800
win32: build common stuff as a library, fix release build
Diffstat:
4 files changed, 150 insertions(+), 30 deletions(-)
diff --git a/common/common.vcxproj b/common/common.vcxproj
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="OpenGL-Debug|Win32">
+ <Configuration>OpenGL-Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{40A5DC51-53B0-4982-89AD-F9C2C85BB97A}</ProjectGuid>
+ <RootNamespace>common</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v110</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='OpenGL-Debug|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v110</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v110</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='OpenGL-Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <IncludePath>$(DXSDK_DIR)Include;..\zlib-1.2.7;..\libpng-1.2.50;$(IncludePath)</IncludePath>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='OpenGL-Debug|Win32'">
+ <IncludePath>$(DXSDK_DIR)Include;..\zlib-1.2.7;..\libpng-1.2.50;$(IncludePath)</IncludePath>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <IncludePath>$(DXSDK_LIB)Include;../zlib-1.2.7;../libpng-1.2.50;$(IncludePath)</IncludePath>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='OpenGL-Debug|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
+ <PreprocessorDefinitions>USE_OPENGL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\SDL-1.2.15\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClInclude Include="app.h" />
+ <ClInclude Include="dxapp.h" />
+ <ClInclude Include="glapp.h" />
+ <ClInclude Include="glcorearb.h" />
+ <ClInclude Include="matrix.h" />
+ <ClInclude Include="opengl.h" />
+ <ClInclude Include="textgrid.h" />
+ <ClInclude Include="util.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="dxapp.cc">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='OpenGL-Debug|Win32'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="glapp.cc">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='OpenGL-Debug|Win32'">false</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="io.cc" />
+ <ClCompile Include="loadfile.cc" />
+ <ClCompile Include="loadobj.cc" />
+ <ClCompile Include="loadpng.cc" />
+ <ClCompile Include="matrix.cc" />
+ <ClCompile Include="savepng.cc" />
+ <ClCompile Include="simplexnoise.cc" />
+ <ClCompile Include="textgrid.cc" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
+\ No newline at end of file
diff --git a/common/dxapp.cc b/common/dxapp.cc
@@ -100,7 +100,7 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM l
void init_io(void);
-int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow) {
+int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
init_io();
app = createApp();
if (app->start(hInstance, nCmdShow))
diff --git a/graphics.sln b/graphics.sln
@@ -11,6 +11,13 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hello", "hello\hello.vcxproj", "{812CD397-998F-4D9C-9BF3-1549F360EABE}"
ProjectSection(ProjectDependencies) = postProject
{F5A10B0A-0EC0-4A76-B4DD-748CA4047E50} = {F5A10B0A-0EC0-4A76-B4DD-748CA4047E50}
+ {40A5DC51-53B0-4982-89AD-F9C2C85BB97A} = {40A5DC51-53B0-4982-89AD-F9C2C85BB97A}
+ {9A238D95-47DB-4254-A680-F100AA9E755C} = {9A238D95-47DB-4254-A680-F100AA9E755C}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common", "common\common.vcxproj", "{40A5DC51-53B0-4982-89AD-F9C2C85BB97A}"
+ ProjectSection(ProjectDependencies) = postProject
+ {F5A10B0A-0EC0-4A76-B4DD-748CA4047E50} = {F5A10B0A-0EC0-4A76-B4DD-748CA4047E50}
{9A238D95-47DB-4254-A680-F100AA9E755C} = {9A238D95-47DB-4254-A680-F100AA9E755C}
EndProjectSection
EndProject
@@ -39,6 +46,12 @@ Global
{812CD397-998F-4D9C-9BF3-1549F360EABE}.OpenGL-Debug|Win32.Build.0 = OpenGL-Debug|Win32
{812CD397-998F-4D9C-9BF3-1549F360EABE}.Release|Win32.ActiveCfg = Release|Win32
{812CD397-998F-4D9C-9BF3-1549F360EABE}.Release|Win32.Build.0 = Release|Win32
+ {40A5DC51-53B0-4982-89AD-F9C2C85BB97A}.Debug|Win32.ActiveCfg = OpenGL-Debug|Win32
+ {40A5DC51-53B0-4982-89AD-F9C2C85BB97A}.Debug|Win32.Build.0 = OpenGL-Debug|Win32
+ {40A5DC51-53B0-4982-89AD-F9C2C85BB97A}.OpenGL-Debug|Win32.ActiveCfg = OpenGL-Debug|Win32
+ {40A5DC51-53B0-4982-89AD-F9C2C85BB97A}.OpenGL-Debug|Win32.Build.0 = OpenGL-Debug|Win32
+ {40A5DC51-53B0-4982-89AD-F9C2C85BB97A}.Release|Win32.ActiveCfg = Release|Win32
+ {40A5DC51-53B0-4982-89AD-F9C2C85BB97A}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/hello/hello.vcxproj b/hello/hello.vcxproj
@@ -75,7 +75,7 @@
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
- <AdditionalDependencies>d3d10.lib;dxerr.lib;dxguid.lib;winmm.lib;d3dcompiler.lib;dinput8.lib;libpng-1.2.50.lib;zlib-1.2.7.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>d3d10.lib;dxerr.lib;dxguid.lib;winmm.lib;d3dcompiler.lib;dinput8.lib;common.lib;libpng-1.2.50.lib;zlib-1.2.7.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SubSystem>Windows</SubSystem>
<AdditionalLibraryDirectories>../Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
@@ -89,14 +89,14 @@ XCOPY "$(ProjectDir)assets" "$(TargetDir)assets" /E /I /F /Y</Command>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
- <AdditionalIncludeDirectories>..\..\SDL-1.2.15\include;../common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..\SDL-1.2.15\include;..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>USE_OPENGL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
- <AdditionalDependencies>SDL.lib;SDLmain.lib;libpng-1.2.50.lib;zlib-1.2.7.lib;OpenGL32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>common.lib;SDL.lib;SDLmain.lib;libpng-1.2.50.lib;zlib-1.2.7.lib;OpenGL32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SubSystem>Windows</SubSystem>
- <AdditionalLibraryDirectories>..\..\SDL-1.2.15\lib\x86;..\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalLibraryDirectories>..\..\SDL-1.2.15\lib\x86;..\OpenGL-Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<PostBuildEvent>
<Command>XCOPY "$(ProjectDir)..\..\SDL-1.2.15\lib\x86\SDL.dll" "$(TargetDir)" /E /I /F /Y
@@ -115,7 +115,7 @@ XCOPY "$(ProjectDir)assets" "$(TargetDir)assets" /E /I /F /Y</Command>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
- <AdditionalDependencies>d3d10.lib;dxerr.lib;dxguid.lib;winmm.lib;d3dcompiler.lib;dinput8.lib;libpng-1.2.50.lib;zlib-1.2.7.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>common.lib;d3d10.lib;dxerr.lib;dxguid.lib;winmm.lib;d3dcompiler.lib;dinput8.lib;libpng-1.2.50.lib;zlib-1.2.7.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SubSystem>Windows</SubSystem>
<AdditionalLibraryDirectories>../Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
@@ -127,32 +127,8 @@ XCOPY "$(ProjectDir)assets" "$(TargetDir)assets" /E /I /F /Y</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
- <ClCompile Include="..\common\dxapp.cc">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='OpenGL-Debug|Win32'">true</ExcludedFromBuild>
- </ClCompile>
- <ClCompile Include="..\common\glapp.cc">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='OpenGL-Debug|Win32'">false</ExcludedFromBuild>
- </ClCompile>
- <ClCompile Include="..\common\io.cc" />
- <ClCompile Include="..\common\loadfile.cc" />
- <ClCompile Include="..\common\loadobj.cc" />
- <ClCompile Include="..\common\loadpng.cc" />
- <ClCompile Include="..\common\matrix.cc" />
- <ClCompile Include="..\common\savepng.cc" />
- <ClCompile Include="..\common\simplexnoise.cc" />
- <ClCompile Include="..\common\textgrid.cc" />
<ClCompile Include="hello.cc" />
</ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\common\app.h" />
- <ClInclude Include="..\common\dxapp.h" />
- <ClInclude Include="..\common\glapp.h" />
- <ClInclude Include="..\common\matrix.h" />
- <ClInclude Include="..\common\opengl.h" />
- <ClInclude Include="..\common\util.h" />
- <ClInclude Include="..\common\textgrid.h" />
- </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>