mirror of
https://github.com/Ryujinx/Opentk.git
synced 2024-12-26 05:25:35 +00:00
Converted into an actual commandline tool to avoid using custom tasks.
This commit is contained in:
parent
0377744843
commit
1cd8cfbc0f
|
@ -1,59 +1,45 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<PropertyGroup Condition="'$(Configuration)' == 'Documentation'">
|
<PropertyGroup Condition="'$(Configuration)' == 'Documentation'">
|
||||||
<OutputPath>.</OutputPath>
|
<OutputPath>..\..\Binaries\OpenTK\Release</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
|
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
|
||||||
<OutputPath>.</OutputPath>
|
<OutputPath>..\..\Binaries\OpenTK\Debug</OutputPath>
|
||||||
|
<DefineConstants>TRACE;DEBUG</DefineConstants>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
|
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
|
||||||
<OutputPath>.</OutputPath>
|
<OutputPath>..\..\Binaries\OpenTK\Release</OutputPath>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)' == 'Nsis'">
|
<PropertyGroup Condition="'$(Configuration)' == 'Nsis'">
|
||||||
<OutputPath>.</OutputPath>
|
<OutputPath>..\..\Binaries\OpenTK\Release</OutputPath>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ProjectGuid>{75DC22B1-113F-4A66-96B9-2FF8208C10E8}</ProjectGuid>
|
<ProjectGuid>{75DC22B1-113F-4A66-96B9-2FF8208C10E8}</ProjectGuid>
|
||||||
|
<RootNamespace>Build</RootNamespace>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="..\Build.Tasks\Common.xml" />
|
<ItemGroup>
|
||||||
<Target Name="UpdateVersion">
|
<Compile Include="Program.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<PreBuildEvent>
|
||||||
|
</PreBuildEvent>
|
||||||
|
<PostBuildEvent>
|
||||||
|
</PostBuildEvent>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Target Name="BeforeBuild">
|
||||||
<Delete Files="..\..\Version.txt" />
|
<Delete Files="..\..\Version.txt" />
|
||||||
<GenerateAssemblyInfo
|
|
||||||
OutputFile="..\GlobalAssemblyInfo.cs"
|
|
||||||
AssemblyCompany="The Open Toolkit Library"
|
|
||||||
AssemblyProduct="The Open Toolkit Library"
|
|
||||||
AssemblyCopyright="Copyright © 2006 - 2010 the Open Toolkit Library"
|
|
||||||
AssemblyTrademark="OpenTK"
|
|
||||||
Major="1"
|
|
||||||
Minor="0" />
|
|
||||||
<!-- Fails because xbuild does not respect %3b
|
|
||||||
<DateStamp>
|
|
||||||
<Output TaskParameter="Date" PropertyName="ShortDate" />
|
|
||||||
</DateStamp>
|
|
||||||
<WriteLinesToFile File="..\GlobalAssemblyInfo.cs" Overwrite="true"
|
|
||||||
Lines='// This file is auto-generated through Build.UpdateVersion.csproj.;
|
|
||||||
// Do not edit by hand!;
|
|
||||||
using System%3b;
|
|
||||||
using System.Reflection%3b;
|
|
||||||
using System.Resources%3b;
|
|
||||||
using System.Runtime.CompilerServices%3b;
|
|
||||||
using System.Runtime.Runtime.InteropServices%3b;
|
|
||||||
;
|
|
||||||
[assembly: AssemblyCompany("The Open Toolkit Library")];
|
|
||||||
[assembly: AssemblyProduct("The Open Toolkit Library")];
|
|
||||||
[assembly: AssemblyCopyright("Copyright © 2006 - 2010 the Open Toolkit Library")];
|
|
||||||
[assembly: AssemblyTrademark("OpenTK")];
|
|
||||||
[assembly: AssemblyVersion("1.0.0.0")];
|
|
||||||
[assembly: AssemblyFileVersion("1.0.$(ShortDate)")];
|
|
||||||
' />
|
|
||||||
-->
|
|
||||||
</Target>
|
</Target>
|
||||||
<Target Name="Build">
|
<Target Name="AfterBuild">
|
||||||
<CallTarget Targets="UpdateVersion" />
|
<Exec Command="$(OutputPath)\Build.UpdateVersion.exe" />
|
||||||
</Target>
|
</Target>
|
||||||
<Target Name="Rebuild">
|
|
||||||
<CallTarget Targets="Clean" />
|
|
||||||
<CallTarget Targets="Build" />
|
|
||||||
</Target>
|
|
||||||
<Target Name="Clean" />
|
|
||||||
</Project>
|
</Project>
|
90
Source/Build.UpdateVersion/Program.cs
Normal file
90
Source/Build.UpdateVersion/Program.cs
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
#region License
|
||||||
|
//
|
||||||
|
// The Open Toolkit Library License
|
||||||
|
//
|
||||||
|
// Copyright (c) 2006 - 2010 the Open Toolkit library.
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
// of this software and associated documentation files (the "Software"), to deal
|
||||||
|
// in the Software without restriction, including without limitation the rights to
|
||||||
|
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||||
|
// the Software, and to permit persons to whom the Software is furnished to do
|
||||||
|
// so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in all
|
||||||
|
// copies or substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||||
|
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||||
|
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
|
// OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
//
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.IO;
|
||||||
|
|
||||||
|
namespace Build
|
||||||
|
{
|
||||||
|
class Program
|
||||||
|
{
|
||||||
|
const string Major = "1";
|
||||||
|
const string Minor = "0";
|
||||||
|
static string Version = "{0}.{1}.{2}";
|
||||||
|
|
||||||
|
public static void Main()
|
||||||
|
{
|
||||||
|
GenerateVersionInfo("../../Version.txt");
|
||||||
|
GenerateAssemblyInfo("../GlobalAssemblyInfo.cs");
|
||||||
|
}
|
||||||
|
|
||||||
|
static void GenerateVersionInfo(string file)
|
||||||
|
{
|
||||||
|
// If the file does not exist, create it.
|
||||||
|
if (System.IO.File.Exists(file))
|
||||||
|
{
|
||||||
|
string[] lines = System.IO.File.ReadAllLines(file);
|
||||||
|
if (lines.Length > 0 && !String.IsNullOrEmpty(lines[0]))
|
||||||
|
{
|
||||||
|
Version = lines[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Build number is defined as the number of days since 1/1/2010.
|
||||||
|
// Revision number is defined as the fraction of the current day, expressed in seconds.
|
||||||
|
double timespan = DateTime.UtcNow.Subtract(new DateTime(2010, 1, 1)).TotalDays;
|
||||||
|
string build = ((int)timespan).ToString();
|
||||||
|
string revision = ((int)((timespan - (int)timespan) * UInt16.MaxValue)).ToString();
|
||||||
|
Version = String.Format("{0}.{1}.{2}.{3}", Major, Minor, build, revision);
|
||||||
|
System.IO.File.WriteAllLines(file, new string[] { Version });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void GenerateAssemblyInfo(string file)
|
||||||
|
{
|
||||||
|
File.WriteAllLines(file, new string[]
|
||||||
|
{
|
||||||
|
"// This file is auto-generated through Source/Build.Tasks/GenerateAssemblyInfo.cs.",
|
||||||
|
"// Do not edit by hand!",
|
||||||
|
"",
|
||||||
|
"using System;",
|
||||||
|
"using System.Reflection;",
|
||||||
|
"using System.Resources;",
|
||||||
|
"using System.Runtime.CompilerServices;",
|
||||||
|
"using System.Runtime.InteropServices;",
|
||||||
|
"",
|
||||||
|
"[assembly: AssemblyCompany(\"The Open Toolkit Library\")]",
|
||||||
|
"[assembly: AssemblyProduct(\"The Open Toolkit Library\")]",
|
||||||
|
"[assembly: AssemblyCopyright(\"Copyright © 2006 - 2010 the Open Toolkit Library\")]",
|
||||||
|
"[assembly: AssemblyTrademark(\"OpenTK\")]",
|
||||||
|
String.Format("[assembly: AssemblyVersion(\"{0}.{1}.0.0\")]", Major, Minor),
|
||||||
|
String.Format("[assembly: AssemblyFileVersion(\"{0}\")]", Version)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue