Some more work on build script for Windows 8 (Metro style). Win8-Build now uses tuned project files and new build system. There's a bunch of errors when building for Win8 now. This is ok for now because it is a sign that it is moving in the right direction. Now everything not supported by WinRT needs to be replaced for solving these errors.

This commit is contained in:
Glatzemann 2012-02-20 13:59:52 +00:00
parent 1e011a8383
commit a2dda0ffa2
6 changed files with 120 additions and 33 deletions

View File

@ -1,40 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(SolutionDir)\build\ANX.PreSettings.targets" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{6899F0C9-70B9-4EB0-9DD3-E598D4BE3E35}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ANX.Framework</RootNamespace>
<AssemblyName>ANX.Framework</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;XNAEXT</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget>x86</PlatformTarget>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<ItemGroup>
<Reference Include="NLog, Version=2.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
@ -486,6 +461,7 @@
</None>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(SolutionDir)\build\ANX.PostSettings.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">

View File

@ -7,6 +7,7 @@ using ANX.Framework.NonXNA;
using ANX.Framework.Graphics;
using ANX.Framework.NonXNA.RenderSystem;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
#endregion // Using Statements
@ -114,7 +115,7 @@ namespace ANX.Framework.Graphics
#endregion // Constructors
protected virtual void Dispose([MarshalAs(UnmanagedType.U1)] bool disposeManaged)
protected virtual void Dispose([MarshalAs(UnmanagedType.U1)] bool disposeManaged)
{
throw new NotImplementedException();
}

View File

@ -36,6 +36,7 @@ using System.Runtime.InteropServices;
[assembly:InternalsVisibleTo("ANX.Framework.Windows.DX10")]
[assembly:InternalsVisibleTo("ANX.RenderSystem.Windows.DX11")]
[assembly:InternalsVisibleTo("ANX.RenderSystem.Windows.Metro")]
[assembly:InternalsVisibleTo("ANX.Framework.Windows.GL3")]
[assembly:InternalsVisibleTo("ANX.Framework.Windows.Kinect")]
[assembly:InternalsVisibleTo("ANX.Framework.Windows.XInput")]

View File

@ -2,7 +2,8 @@
<property name="build.configuration" value="Release" />
<property name="build.platform" value="Any CPU" />
<property name="build.dir" value="../bin" />
<property name="build.solution_dir" value="../" />
<property name="project.anx.path" value="../ANX.Framework" />
<property name="project.anx.name" value="ANX.Framework" />
<property name="project.anx.build_env" value="VS2010" />
@ -75,6 +76,7 @@
<target name="win8">
<property name="project.anx.win8" value="true" />
<property name="build.configuration" value="ReleaseWin8" />
<property name="project.anx.directives" value="${project.anx.directives} WIN8" />
</target>
<target name="build">
@ -89,10 +91,9 @@
<if test="${project.anx.extended}">
<property name="project.anx.directives" value="${project.anx.directives} XNAEXT" />
<echo message="Compiler directives: ${project.anx.directives}" />
</if>
<call target="clean" />
<echo message="Compiler directives: ${project.anx.directives}" />
<call target="build_tools" />
@ -116,6 +117,7 @@
<arg value='/p:Platform="${build.platform}"'/>
<arg value="/p:OutputPath=${build.dir}/${build.configuration}" />
<arg value="/p:AllowUnsafeBlocks=true" />
<arg value="/p:SolutionDir=${build.solution_dir}" />
<arg value='/p:DefineConstants="${project.anx.directives}"' />
<arg value="/clp:ErrorsOnly" />
<arg value="${project.anx.path}/${project.anx.name}.csproj" />
@ -132,6 +134,7 @@
<arg value="/p:Configuration=${build.configuration}"/>
<arg value='/p:Platform="${build.platform}"'/>
<arg value="/p:OutputPath=../${build.dir}/${build.configuration}" />
<arg value="/p:SolutionDir=${build.solution_dir}" />
<arg value='/p:DefineConstants="${project.anx.directives}"' />
<arg value="/p:AllowUnsafeBlocks=true" />
<arg value="/clp:ErrorsOnly" />
@ -147,6 +150,7 @@
<arg value="/p:Configuration=${build.configuration}"/>
<arg value='/p:Platform="${build.platform}"'/>
<arg value="/p:OutputPath=../${build.dir}/${build.configuration}" />
<arg value="/p:SolutionDir=${build.solution_dir}" />
<arg value='/p:DefineConstants="${project.anx.directives}"' />
<arg value="/p:AllowUnsafeBlocks=true" />
<arg value="/clp:ErrorsOnly" />
@ -163,6 +167,7 @@
<arg value="/p:Configuration=${build.configuration}"/>
<arg value='/p:Platform="${build.platform}"'/>
<arg value="/p:OutputPath=../${build.dir}/${build.configuration}" />
<arg value="/p:SolutionDir=${build.solution_dir}" />
<arg value='/p:DefineConstants="${project.anx.directives}"' />
<arg value="/clp:ErrorsOnly" />
<arg value="${project.anx.path.rendersystem.metro}/${project.anx.name.rendersystem.metro}.csproj" />
@ -178,6 +183,7 @@
<arg value="/p:Configuration=${build.configuration}"/>
<arg value='/p:Platform="${build.platform}"'/>
<arg value="/p:OutputPath=../${build.dir}/${build.configuration}" />
<arg value="/p:SolutionDir=${build.solution_dir}" />
<arg value='/p:DefineConstants="${project.anx.directives}"' />
<arg value="/p:AllowUnsafeBlocks=true" />
<arg value="/clp:ErrorsOnly" />
@ -196,6 +202,7 @@
<arg value="/p:Configuration=${build.configuration}"/>
<arg value='/p:Platform="${build.platform}"'/>
<arg value="/p:OutputPath=${build.dir}/${build.configuration}" />
<arg value="/p:SolutionDir=${build.solution_dir}" />
<arg value='/p:DefineConstants="${project.anx.directives}"' />
<arg value="/clp:ErrorsOnly" />
<arg value="${project.anxcontent.path}/${project.anxcontent.name}.csproj" />
@ -212,6 +219,7 @@
<arg value="/p:Configuration=${build.configuration}"/>
<arg value='/p:Platform="${build.platform}"'/>
<arg value="/p:OutputPath=../${build.dir}/${build.configuration}" />
<arg value="/p:SolutionDir=${build.solution_dir}" />
<arg value='/p:DefineConstants="${project.anx.directives}"' />
<arg value="/clp:ErrorsOnly" />
<arg value="${project.anx.path.inputsystem.standard}/${project.anx.name.inputsystem.standard}.csproj" />
@ -226,6 +234,7 @@
<arg value="/p:Configuration=${build.configuration}"/>
<arg value='/p:Platform="${build.platform}"'/>
<arg value="/p:OutputPath=../${build.dir}/${build.configuration}" />
<arg value="/p:SolutionDir=${build.solution_dir}" />
<arg value='/p:DefineConstants="${project.anx.directives}"' />
<arg value="/clp:ErrorsOnly" />
<arg value="${project.anx.path.inputsystem.recording}/${project.anx.name.inputsystem.recording}.csproj" />
@ -240,6 +249,7 @@
<arg value="/p:Configuration=${build.configuration}"/>
<arg value='/p:Platform="${build.platform}"'/>
<arg value="/p:OutputPath=../${build.dir}/${build.configuration}" />
<arg value="/p:SolutionDir=${build.solution_dir}" />
<arg value='/p:DefineConstants="${project.anx.directives}"' />
<arg value="/clp:ErrorsOnly" />
<arg value="${project.anx.path.inputdevices.xinput}/${project.anx.name.inputdevices.xinput}.csproj" />
@ -254,6 +264,7 @@
<arg value="/p:Configuration=${build.configuration}"/>
<arg value='/p:Platform="${build.platform}"'/>
<arg value="/p:OutputPath=../${build.dir}/${build.configuration}" />
<arg value="/p:SolutionDir=${build.solution_dir}" />
<arg value='/p:DefineConstants="${project.anx.directives}"' />
<arg value="/clp:ErrorsOnly" />
<arg value="${project.anx.path.inputdevices.opentk}/${project.anx.name.inputdevices.opentk}.csproj" />
@ -269,6 +280,7 @@
<arg value="/p:Configuration=${build.configuration}"/>
<arg value='/p:Platform="${build.platform}"'/>
<arg value="/p:OutputPath=../${build.dir}/${build.configuration}" />
<arg value="/p:SolutionDir=${build.solution_dir}" />
<arg value='/p:DefineConstants="${project.anx.directives}"' />
<arg value="/clp:ErrorsOnly" />
<arg value="${project.anx.path.inputdevices.kinect}/${project.anx.name.inputdevices.kinect}.csproj" />
@ -286,6 +298,7 @@
<arg value="/p:Configuration=${build.configuration}"/>
<arg value='/p:Platform="${build.platform}"'/>
<arg value="/p:OutputPath=../${build.dir}/${build.configuration}" />
<arg value="/p:SolutionDir=${build.solution_dir}" />
<arg value='/p:DefineConstants="${project.anx.directives}"' />
<arg value="/clp:ErrorsOnly" />
<arg value="${project.anx.path.soundsystem.xaudio}/${project.anx.name.soundsystem.xaudio}.csproj" />
@ -300,6 +313,7 @@
<arg value="/p:Configuration=${build.configuration}"/>
<arg value='/p:Platform="${build.platform}"'/>
<arg value="/p:OutputPath=../${build.dir}/${build.configuration}" />
<arg value="/p:SolutionDir=${build.solution_dir}" />
<arg value='/p:DefineConstants="${project.anx.directives}"' />
<arg value="/clp:ErrorsOnly" />
<arg value="${project.anx.path.soundsystem.openal}/${project.anx.name.soundsystem.openal}.csproj" />
@ -316,6 +330,7 @@
<arg value="/p:Configuration=Release"/>
<arg value='/p:Platform="Any CPU"'/>
<arg value="/p:OutputPath=${build.dir}" />
<arg value="/p:SolutionDir=${build.solution_dir}" />
<arg value="/clp:ErrorsOnly" />
<arg value="${project.anx.tools.path.ANXStatusComparer}/${project.anx.tools.name.ANXStatusComparer}.csproj" />
</exec>
@ -329,6 +344,7 @@
<arg value="/p:Configuration=Release"/>
<arg value='/p:Platform="Any CPU"'/>
<arg value="/p:OutputPath=${build.dir}" />
<arg value="/p:SolutionDir=${build.solution_dir}" />
<arg value="/clp:ErrorsOnly" />
<arg value="${project.anx.tools.path.XNAToANXConverter}/${project.anx.tools.name.XNAToANXConverter}.csproj" />
</exec>
@ -342,6 +358,7 @@
<arg value="/p:Configuration=Release"/>
<arg value='/p:Platform="Any CPU"'/>
<arg value="/p:OutputPath=${build.dir}" />
<arg value="/p:SolutionDir=${build.solution_dir}" />
<arg value="/p:AllowUnsafeBlocks=true" />
<arg value="/clp:ErrorsOnly" />
<arg value="${project.anx.tools.path.StockShaderCodeGenerator}/${project.anx.tools.name.StockShaderCodeGenerator}.csproj" />

View File

@ -0,0 +1,24 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ResolveReferencesDependsOn>
$(ResolveReferencesDependsOn);
ImplicitlyExpandTargetFramework
</ResolveReferencesDependsOn>
</PropertyGroup>
<Target Name="ImplicitlyExpandTargetFramework" Condition="'$(ImplicitlyExpandTargetFramework)' == 'true'">
<ItemGroup>
<ReferencePath Include="$(FrameworkPathOverride)\*.dll">
<WinMDFile>false</WinMDFile>
<CopyLocal>false</CopyLocal>
<ReferenceGrouping>$(TargetFrameworkMoniker)</ReferenceGrouping>
<ResolvedFrom>ImplicitlyExpandTargetFramework</ResolvedFrom>
</ReferencePath>
</ItemGroup>
<Message Importance="Low" Text="Including @(ReferencePath)" Condition="'%(ReferencePath.ResolvedFrom)' == 'ImplicitlyExpandTargetFramework'"/>
<ItemGroup>
<_ResolveAssemblyReferenceResolvedFiles Include="@(ReferencePath)" Condition="'%(ReferencePath.ResolvedFrom)' == 'ImplicitlyExpandTargetFramework'"/>
</ItemGroup>
</Target>
</Project>

View File

@ -0,0 +1,68 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<AppDesignerFolder>Properties</AppDesignerFolder>
<OutputType>Library</OutputType>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' Or '$(Configuration)' == 'Release' ">
<ANXWin8>false</ANXWin8>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'DebugWin8' Or '$(Configuration)' == 'ReleaseWin8' ">
<ANXWin8>true</ANXWin8>
<ImplicitlyExpandTargetFramework>true</ImplicitlyExpandTargetFramework>
<TargetFrameworkIdentifier>.NETCore</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetPlatformVersion>8.0</TargetPlatformVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;XNAEXT</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DebugWin8|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\bin\DebugWin8\</OutputPath>
<DefineConstants>TRACE;DEBUG;XNAEXT;WIN8</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'ReleaseWin8|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\bin\ReleaseWin8\</OutputPath>
<DefineConstants>TRACE;XNAEXT;WIN8</DefineConstants>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
</PropertyGroup>
</Project>