+++ /dev/null
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">\r
-\r
- <UsingTask TaskName="DowngradeProject" AssemblyFile="$(RootDir)\tools\BuildTasks\BuildTasks.dll"/>\r
- <UsingTask TaskName="DowngradeSolution" AssemblyFile="$(RootDir)\tools\BuildTasks\BuildTasks.dll"/>\r
- <UsingTask TaskName="GetSolutionProjects" AssemblyFile="$(RootDir)\tools\BuildTasks\BuildTasks.dll"/>\r
- <UsingTask TaskName="SelectByPrefix" AssemblyFile="$(RootDir)\tools\BuildTasks\BuildTasks.dll"/>\r
-\r
- <PropertyGroup>\r
- <RootDir>$(MSBuildProjectDirectory)\..</RootDir>\r
- <BuildDir>$(RootDir)\build</BuildDir>\r
- <SamplesDir>$(RootDir)\samples</SamplesDir>\r
- <StagingDir>$(RootDir)\artifact\stage</StagingDir>\r
-\r
- <TestsBinDir>$(RootDir)\tests\SlimDX\bin</TestsBinDir>\r
- <NUnitBinDir>$(RootDir)\external\NUnit\bin</NUnitBinDir>\r
- </PropertyGroup>\r
-\r
- <ItemGroup>\r
- <SolutionsToDowngrade Include="$(RootDir)\**\*.sln" Exclude="$(RootDir)\tools\**\*.*;$(RootDir)\**\*.2005.sln"/>\r
- \r
- <ProjectsToDowngrade Include="$(RootDir)\**\*.vcproj" Exclude="$(RootDir)\tools\**\*.*;$(RootDir)\**\*.2005.vcproj"/>\r
- <ProjectsToDowngrade Include="$(RootDir)\**\*.csproj" Exclude="$(RootDir)\tools\**\*.*;$(RootDir)\**\*.2005.csproj"/>\r
- </ItemGroup>\r
- \r
- <Target Name="Build" DependsOnTargets="_CompileSolution">\r
- <MakeDir Directories="%(LibraryOutputFiles.PathInArtifacts)"/>\r
- <Copy SourceFiles="@(LibraryOutputFiles)" DestinationFiles="@(LibraryOutputFiles->'%(PathInArtifacts)%(FileName)%(Extension)')"/>\r
-\r
- <MakeDir Directories="%(SampleOutputFiles.PathInArtifacts)"/>\r
- <Copy SourceFiles="@(SampleOutputFiles)" DestinationFiles="@(SampleOutputFiles->'%(PathInArtifacts)%(FileName)%(Extension)')"/>\r
- </Target>\r
-\r
- <Target Name="Clean">\r
- <RemoveDir Directories="$(BuildDir)\x86;$(BuildDir)\x64"/>\r
- <RemoveDir Directories="$(RootDir)\tests\SlimDX.Tests\x86;$(RootDir)\tests\SlimDX.Tests\x64"/>\r
- </Target>\r
- \r
- <!-- ===================================================================== \r
- RunTests\r
- Runs SlimDX unit tests. Expects the tests to have been built.\r
- ===================================================================== -->\r
- <Target\r
- Name="RunTests" DependsOnTargets="_CheckEnvironmentVariables"\r
- Condition="'$(RunTests)'=='true'">\r
- <Exec Command="$(RootDir)\tests\SlimDX.Tests\x86\Release\SlimDX.Tests.exe"/>\r
- </Target>\r
-\r
- <!-- ===================================================================== \r
- Create2005Environment\r
- Creates a VS 2005 build environment for SlimDX. This produce 2005\r
- versions of all solution and project files next to their 2008.\r
- ===================================================================== -->\r
- <Target\r
- Name="Create2005Environment">\r
- <DowngradeSolution\r
- InputSolutions="@(SolutionsToDowngrade)"\r
- OutputSolutions="@(SolutionsToDowngrade->'%(RootDir)%(Directory)%(FileName).2005%(Extension)')"/>\r
- <DowngradeProject\r
- InputProjects="@(ProjectsToDowngrade)"\r
- OutputProjects="@(ProjectsToDowngrade->'%(RootDir)%(Directory)%(FileName).2005%(Extension)')"/>\r
- </Target>\r
-\r
- <!-- ===================================================================== \r
- _CompileSolution\r
- Builds the solution. Creates @(BuiltProjects), which contains the\r
- list of project files that were in the solution. \r
- ===================================================================== -->\r
- <Target\r
- Name="_CompileSolution"\r
- DependsOnTargets="_CheckProperties;_SelectSolution">\r
- <MsBuild\r
- Properties="Configuration=$(Configuration);Platform=$(Platform)"\r
- Projects="$(SolutionToBuild)"/>\r
-\r
- <GetSolutionProjects\r
- SolutionFile="$(SolutionToBuild)">\r
- <Output\r
- ItemName="BuiltProjects"\r
- TaskParameter="ProjectFiles"/>\r
- </GetSolutionProjects>\r
-\r
- <SelectByPrefix\r
- Prefix="$(SamplesDir)"\r
- InputItems="@(BuiltProjects->'%(RootDir)%(Directory)')">\r
- <Output\r
- ItemName="SampleOutputRoots"\r
- TaskParameter="OutputItems"/>\r
- </SelectByPrefix>\r
-\r
- <CreateItem\r
- Include="$(BuildDir)\$(Platform)\$(Configuration)\*.dll;$(BuildDir)\$(Platform)\$(Configuration)\*.pdb"\r
- Exclude="$(BuildDir)\$(Platform)\$(Configuration)\vc90.pdb"\r
- AdditionalMetadata="PathInArtifacts=$(StagingDir)\$(Platform)\$(Configuration)\Library\">\r
- <Output\r
- ItemName="LibraryOutputFiles"\r
- TaskParameter="Include"/>\r
- </CreateItem>\r
-\r
- <CreateItem\r
- Include="@(SampleOutputRoots->'%(FullPath)bin\$(Platform)\$(Configuration)\*.exe');@(SampleOutputRoots->'%(FullPath)bin\$(Platform)\$(Configuration)\*.dll')"\r
- Exclude="@(SampleOutputRoots->'%(FullPath)bin\$(Platform)\$(Configuration)\*.vshost.exe')"\r
- AdditionalMetadata="PathInArtifacts=$(StagingDir)\$(Platform)\$(Configuration)\Samples\%(UniquePart)">\r
- <Output\r
- ItemName="SampleOutputFiles"\r
- TaskParameter="Include"/>\r
- </CreateItem>\r
- </Target>\r
-\r
- <!-- ===================================================================== \r
- _SelectSolution\r
- Selects which solution file to build based on which version of\r
- Visual Studio is being used. If neccessary, this will generate the\r
- build environment for the 2005 build.\r
- ===================================================================== -->\r
- <Target\r
- Name="_SelectSolution"\r
- DependsOnTargets="_SelectVisualStudioVersion">\r
- <CallTarget\r
- Condition="'$(BuildWith2005)'=='True'"\r
- Targets="Create2005Environment"/>\r
- <CreateProperty\r
- Condition="'$(BuildWith2005)'=='True'"\r
- Value="$(BuildDir)\SlimDX.2005.sln">\r
- <Output\r
- PropertyName="SolutionToBuild"\r
- TaskParameter="Value"/>\r
- </CreateProperty>\r
- <CreateProperty\r
- Condition="'$(BuildWith2005)'=='False'"\r
- Value="$(BuildDir)\SlimDX.sln">\r
- <Output\r
- PropertyName="SolutionToBuild"\r
- TaskParameter="Value"/>\r
- </CreateProperty>\r
- </Target>\r
-\r
- <!-- ===================================================================== \r
- _SelectVisualStudioVersion\r
- Selects which version of Visual Studio will be used for the build.\r
- ===================================================================== -->\r
- <Target\r
- Name="_SelectVisualStudioVersion"\r
- DependsOnTargets="_CheckEnvironmentVariables">\r
- <Message\r
- Condition="'$(VS80COMNTOOLS)'!='' and '$(VS90COMNTOOLS)'==''"\r
- Importance="high"\r
- Text="Building with a VS 2005 installation."/>\r
- <CreateProperty\r
- Condition="'$(VS80COMNTOOLS)'!='' and '$(VS90COMNTOOLS)'==''"\r
- Value="True">\r
- <Output\r
- PropertyName="BuildWith2005"\r
- TaskParameter="Value"/>\r
- </CreateProperty>\r
- <Message\r
- Condition="'$(VS90COMNTOOLS)'!=''"\r
- Importance="high"\r
- Text="Building with a VS 2008 installation."/>\r
- <CreateProperty\r
- Condition="'$(VS90COMNTOOLS)'!=''"\r
- Value="False">\r
- <Output\r
- PropertyName="BuildWith2005"\r
- TaskParameter="Value"/>\r
- </CreateProperty>\r
- </Target>\r
-\r
- <!-- ===================================================================== \r
- _CheckEnvironmentVariables\r
- Ensures that the required environment variables are valid.\r
- ===================================================================== -->\r
- <Target\r
- Name="_CheckEnvironmentVariables">\r
- <Error\r
- Condition="'$(VS80COMNTOOLS)'=='' and '$(VS90COMNTOOLS)'==''"\r
- Text="Environment variable VS80COMNTOOLS or VS90COMNTOOLS not found; have you installed Visual C++ 2005 or 2008?"/>\r
- <Error\r
- Condition="'$(DXSDK_DIR)'==''"\r
- Text="Environment variable DXSDK_DIR not set; have you installed the DirectX SDK?"/>\r
-\r
- <!-- This assumes that 'x86' is the only 32-bit value for PROCESSOR_ARCHITECTURE. -->\r
- <CreateProperty\r
- Condition="'$(PROCESSOR_ARCHITECTURE)'=='x86'"\r
- Value="False">\r
- <Output\r
- PropertyName="MachineIs64Bit"\r
- TaskParameter="Value"/>\r
- </CreateProperty>\r
- <CreateProperty\r
- Condition="'$(PROCESSOR_ARCHITECTURE)'!='x86'"\r
- Value="True">\r
- <Output\r
- PropertyName="MachineIs64Bit"\r
- TaskParameter="Value"/>\r
- </CreateProperty>\r
- </Target>\r
-\r
- <!-- ===================================================================== \r
- _CheckProperties\r
- Ensures that the required properties are valid.\r
- ===================================================================== -->\r
- <Target\r
- Name="_CheckProperties">\r
- <Error\r
- Condition="'$(Configuration)'==''"\r
- Text="The Configuration property must be specified."/>\r
- <Error\r
- Condition="'$(Platform)'==''"\r
- Text="The Platform property must be specified."/>\r
- </Target>\r
-</Project>\r