Support both dynamic CRT and static CRT configurations on VS11 build.  The public download needs the static one for user simplicity, while some downstream tools need the dynamic one.


git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24977 e7fa87d3-cd2b-0410-9028-fcbf551c1848
diff --git a/glslang.vcxproj b/glslang.vcxproj
index a95ec88..0e2afa8 100644
--- a/glslang.vcxproj
+++ b/glslang.vcxproj
@@ -1,10 +1,18 @@
 <?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 CRT DLL|Win32">

+      <Configuration>Debug CRT DLL</Configuration>

+      <Platform>Win32</Platform>

+    </ProjectConfiguration>

     <ProjectConfiguration Include="Debug|Win32">

       <Configuration>Debug</Configuration>

       <Platform>Win32</Platform>

     </ProjectConfiguration>

+    <ProjectConfiguration Include="Release CRT DLL|Win32">

+      <Configuration>Release CRT DLL</Configuration>

+      <Platform>Win32</Platform>

+    </ProjectConfiguration>

     <ProjectConfiguration Include="Release|Win32">

       <Configuration>Release</Configuration>

       <Platform>Win32</Platform>

@@ -21,33 +29,60 @@
     <CharacterSet>MultiByte</CharacterSet>

     <PlatformToolset>v110_xp</PlatformToolset>

   </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release CRT DLL|Win32'" Label="Configuration">

+    <ConfigurationType>StaticLibrary</ConfigurationType>

+    <UseOfMfc>false</UseOfMfc>

+    <CharacterSet>MultiByte</CharacterSet>

+    <PlatformToolset>v110_xp</PlatformToolset>

+  </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">

     <ConfigurationType>StaticLibrary</ConfigurationType>

     <CharacterSet>MultiByte</CharacterSet>

     <PlatformToolset>v110_xp</PlatformToolset>

   </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug CRT DLL|Win32'" Label="Configuration">

+    <ConfigurationType>StaticLibrary</ConfigurationType>

+    <CharacterSet>MultiByte</CharacterSet>

+    <PlatformToolset>v110_xp</PlatformToolset>

+  </PropertyGroup>

   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

   <ImportGroup Label="ExtensionSettings">

   </ImportGroup>

   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">

     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

   </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release CRT DLL|Win32'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+  </ImportGroup>

   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">

     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

   </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug CRT DLL|Win32'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+  </ImportGroup>

   <PropertyGroup Label="UserMacros" />

   <PropertyGroup>

     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>

     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">glslang\UserM_Debug\</OutDir>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug CRT DLL|Win32'">glslang\UserM_Debug\</OutDir>

     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">glslang\UserM_Debug\</IntDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug CRT DLL|Win32'">glslang\UserM_Debug\</IntDir>

     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>

+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug CRT DLL|Win32'">false</LinkIncremental>

     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">glslang\UserM_Release\</OutDir>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release CRT DLL|Win32'">glslang\UserM_Release\</OutDir>

     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">glslang\UserM_Release\</IntDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release CRT DLL|Win32'">glslang\UserM_Release\</IntDir>

     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>

+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release CRT DLL|Win32'">false</LinkIncremental>

     <PostBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</PostBuildEventUseInBuild>

+    <PostBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug CRT DLL|Win32'">false</PostBuildEventUseInBuild>

     <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.lib</TargetExt>

+    <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug CRT DLL|Win32'">.lib</TargetExt>

     <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.lib</TargetExt>

+    <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release CRT DLL|Win32'">.lib</TargetExt>

     <PostBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</PostBuildEventUseInBuild>

+    <PostBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Release CRT DLL|Win32'">false</PostBuildEventUseInBuild>

   </PropertyGroup>

   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

     <ClCompile>

@@ -98,6 +133,55 @@
       <Command>SubWCRev . glslang/Include/revision.template glslang/Include/revision.h -q</Command>

     </PreBuildEvent>

   </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug CRT DLL|Win32'">

+    <ClCompile>

+      <Optimization>Disabled</Optimization>

+      <AdditionalIncludeDirectories>glslang;glslang\MachineIndependent;glslang\OSDependent\Windows;OGLCompilersDLL;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <MinimalRebuild>false</MinimalRebuild>

+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>

+      <PrecompiledHeaderOutputFile>

+      </PrecompiledHeaderOutputFile>

+      <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>

+      <ObjectFileName>$(IntDir)</ObjectFileName>

+      <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>

+      <BrowseInformation>

+      </BrowseInformation>

+      <WarningLevel>Level3</WarningLevel>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <CallingConvention>Cdecl</CallingConvention>

+      <CompileAs>Default</CompileAs>

+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>

+      <StringPooling>true</StringPooling>

+    </ClCompile>

+    <Link>

+      <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>

+      <AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>

+      <SuppressStartupBanner>false</SuppressStartupBanner>

+      <IgnoreSpecificDefaultLibraries>libcmtd.lib;libcd.lib;libcmt.lib;libcmt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <ProgramDatabaseFile>UserM_Debug/glslang.pdb</ProgramDatabaseFile>

+      <SubSystem>Console</SubSystem>

+      <ImportLibrary>UserM_Debug/generic/glslang.lib</ImportLibrary>

+      <OutputFile>$(IntDir)$(TargetName)$(TargetExt)</OutputFile>

+    </Link>

+    <Midl>

+      <TypeLibraryName>UserM_Debug/generic/glslang.tlb</TypeLibraryName>

+    </Midl>

+    <PostBuildEvent>

+      <Message>copy dll</Message>

+      <Command>del Test\$(TargetName)$(TargetExt)

+xcopy /y $(IntDir)$(TargetName)$(TargetExt) Test</Command>

+    </PostBuildEvent>

+    <ResourceCompile>

+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <Culture>0x0809</Culture>

+    </ResourceCompile>

+    <PreBuildEvent>

+      <Command>SubWCRev . glslang/Include/revision.template glslang/Include/revision.h -q</Command>

+    </PreBuildEvent>

+  </ItemDefinitionGroup>

   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

     <ClCompile>

       <Optimization>MaxSpeed</Optimization>

@@ -154,11 +238,69 @@
       <Command>SubWCRev . glslang/Include/revision.template glslang/Include/revision.h -q</Command>

     </PreBuildEvent>

   </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release CRT DLL|Win32'">

+    <ClCompile>

+      <Optimization>MaxSpeed</Optimization>

+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>

+      <OmitFramePointers>true</OmitFramePointers>

+      <AdditionalIncludeDirectories>glslang;glslang\MachineIndependent;glslang\OSDependent\Windows;OGLCompilersDLL;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <PreprocessorDefinitions>NDEBUG;WIN32;_CONSOLE;_USRDLL;TEST_EXPORTS;GENERIC_COMPILER;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <StringPooling>true</StringPooling>

+      <MinimalRebuild>false</MinimalRebuild>

+      <BasicRuntimeChecks>Default</BasicRuntimeChecks>

+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

+      <BufferSecurityCheck>true</BufferSecurityCheck>

+      <FunctionLevelLinking>true</FunctionLevelLinking>

+      <PrecompiledHeaderOutputFile>

+      </PrecompiledHeaderOutputFile>

+      <AssemblerListingLocation>UserM_Release/</AssemblerListingLocation>

+      <ObjectFileName>UserM_Release/</ObjectFileName>

+      <ProgramDataBaseFileName>

+      </ProgramDataBaseFileName>

+      <BrowseInformation>

+      </BrowseInformation>

+      <WarningLevel>Level3</WarningLevel>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <CallingConvention>Cdecl</CallingConvention>

+      <CompileAs>Default</CompileAs>

+    </ClCompile>

+    <Link>

+      <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>

+      <AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>

+      <OutputFile>UserM_Release/generic/glslang.dll</OutputFile>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <IgnoreSpecificDefaultLibraries>libcmtd.lib;libcd.lib;libcmt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <ProgramDatabaseFile>UserM_Release/generic/glslang.pdb</ProgramDatabaseFile>

+      <SubSystem>Console</SubSystem>

+      <OptimizeReferences>true</OptimizeReferences>

+      <EnableCOMDATFolding>true</EnableCOMDATFolding>

+      <ImportLibrary>UserM_Release/generic/glslang.lib</ImportLibrary>

+    </Link>

+    <Midl>

+      <TypeLibraryName>UserM_Release/generic/glslang.tlb</TypeLibraryName>

+    </Midl>

+    <PostBuildEvent>

+      <Message>copy dll</Message>

+      <Command>del Test\$(TargetName)$(TargetExt)

+xcopy /y $(IntDir)$(TargetName)$(TargetExt) Test</Command>

+    </PostBuildEvent>

+    <ResourceCompile>

+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <Culture>0x0809</Culture>

+    </ResourceCompile>

+    <PreBuildEvent>

+      <Command>SubWCRev . glslang/Include/revision.template glslang/Include/revision.h -q</Command>

+    </PreBuildEvent>

+  </ItemDefinitionGroup>

   <ItemGroup>

     <ClCompile Include="glslang\MachineIndependent\Constant.cpp" />

     <ClCompile Include="glslang\MachineIndependent\glslang_tab.cpp">

       <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">4065</DisableSpecificWarnings>

+      <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Debug CRT DLL|Win32'">4065</DisableSpecificWarnings>

       <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">4065</DisableSpecificWarnings>

+      <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Release CRT DLL|Win32'">4065</DisableSpecificWarnings>

     </ClCompile>

     <ClCompile Include="glslang\MachineIndependent\InfoSink.cpp" />

     <ClCompile Include="glslang\MachineIndependent\Initialize.cpp" />

@@ -188,9 +330,13 @@
     <ClCompile Include="glslang\OSDependent\Windows\ossource.cpp" />

     <ClCompile Include="glslang\OSDependent\Linux\ossource.cpp">

       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug CRT DLL|Win32'">true</ExcludedFromBuild>

       <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>

+      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug CRT DLL|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>

       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release CRT DLL|Win32'">true</ExcludedFromBuild>

       <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>

+      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release CRT DLL|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>

     </ClCompile>

   </ItemGroup>

   <ItemGroup>

@@ -226,17 +372,29 @@
     <CustomBuild Include="glslang\MachineIndependent\glslang.y">

       <FileType>Document</FileType>

       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Executing Bison on glslang.y</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug CRT DLL|Win32'">Executing Bison on glslang.y</Message>

       <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">SET BISON_SIMPLE=%(RootDir)%(Directory)..\..\tools\bison.simple

 SET BISON_HAIRY=%(RootDir)%(Directory)..\..\tools\bison.simple

 cd %(RootDir)%(Directory)

 %(RootDir)%(Directory)..\..\tools\bison.exe --defines=glslang_tab.cpp.h -t glslang.y -o glslang_tab.cpp</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug CRT DLL|Win32'">SET BISON_SIMPLE=%(RootDir)%(Directory)..\..\tools\bison.simple

+SET BISON_HAIRY=%(RootDir)%(Directory)..\..\tools\bison.simple

+cd %(RootDir)%(Directory)

+%(RootDir)%(Directory)..\..\tools\bison.exe --defines=glslang_tab.cpp.h -t glslang.y -o glslang_tab.cpp</Command>

       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(RootDir)%(Directory)%(Filename)_tab.cpp.h;%(RootDir)%(Directory)%(Filename)_tab.cpp</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug CRT DLL|Win32'">%(RootDir)%(Directory)%(Filename)_tab.cpp.h;%(RootDir)%(Directory)%(Filename)_tab.cpp</Outputs>

       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Executing Bison on glslang.y</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release CRT DLL|Win32'">Executing Bison on glslang.y</Message>

       <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">SET BISON_SIMPLE=%(RootDir)%(Directory)..\..\tools\bison.simple

 SET BISON_HAIRY=%(RootDir)%(Directory)..\..\tools\bison.simple

 cd %(RootDir)%(Directory)

 %(RootDir)%(Directory)..\..\tools\bison.exe --defines=glslang_tab.cpp.h -t glslang.y -o glslang_tab.cpp</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release CRT DLL|Win32'">SET BISON_SIMPLE=%(RootDir)%(Directory)..\..\tools\bison.simple

+SET BISON_HAIRY=%(RootDir)%(Directory)..\..\tools\bison.simple

+cd %(RootDir)%(Directory)

+%(RootDir)%(Directory)..\..\tools\bison.exe --defines=glslang_tab.cpp.h -t glslang.y -o glslang_tab.cpp</Command>

       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(RootDir)%(Directory)%(Filename)_tab.cpp.h;%(RootDir)%(Directory)%(Filename)_tab.cpp</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release CRT DLL|Win32'">%(RootDir)%(Directory)%(Filename)_tab.cpp.h;%(RootDir)%(Directory)%(Filename)_tab.cpp</Outputs>

     </CustomBuild>

   </ItemGroup>

   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />