summaryrefslogtreecommitdiff
path: root/src/mscorlib/Tools/Versioning/GenerateVersionInfo.targets
diff options
context:
space:
mode:
Diffstat (limited to 'src/mscorlib/Tools/Versioning/GenerateVersionInfo.targets')
-rw-r--r--src/mscorlib/Tools/Versioning/GenerateVersionInfo.targets114
1 files changed, 114 insertions, 0 deletions
diff --git a/src/mscorlib/Tools/Versioning/GenerateVersionInfo.targets b/src/mscorlib/Tools/Versioning/GenerateVersionInfo.targets
new file mode 100644
index 0000000000..00f5282c7c
--- /dev/null
+++ b/src/mscorlib/Tools/Versioning/GenerateVersionInfo.targets
@@ -0,0 +1,114 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <!-- Setup the default file version information -->
+ <PropertyGroup>
+ <MajorVersion Condition="'$(MajorVersion)' == ''">1</MajorVersion>
+ <MinorVersion Condition="'$(MinorVersion)' == ''">0</MinorVersion>
+ <BuildNumberMajor Condition="'$(BuildNumberMajor)' == ''">0</BuildNumberMajor>
+ <BuildNumberMinor Condition="'$(BuildNumberMinor)' == ''">0</BuildNumberMinor>
+ </PropertyGroup>
+
+ <!-- #################################### -->
+ <!-- Generate Assembly Info -->
+ <!-- #################################### -->
+ <PropertyGroup>
+ <AssemblyVersion Condition="'$(AssemblyVersion)'==''">999.999.999.0</AssemblyVersion>
+ <CLSCompliant Condition="'$(CLSCompliant)'==''">false</CLSCompliant>
+ <AssemblyFileVersion Condition="'$(AssemblyFileVersionOverride)'==''">$(MajorVersion).$(MinorVersion).$(BuildNumberMajor).$(BuildNumberMinor)</AssemblyFileVersion>
+ </PropertyGroup>
+
+ <PropertyGroup>
+ <GenerateAssemblyInfo Condition="'$(GenerateAssemblyInfo)'==''">true</GenerateAssemblyInfo>
+ </PropertyGroup>
+
+ <PropertyGroup Condition="'$(GenerateAssemblyInfo)'=='true'">
+ <AssemblyInfoFile>$(IntermediateOutputPath)GeneratedAssemblyInfo.cs</AssemblyInfoFile>
+ <CoreCompileDependsOn>$(CoreCompileDependsOn);GenerateAssemblyInfo</CoreCompileDependsOn>
+ </PropertyGroup>
+
+ <Target Name="GenerateAssemblyInfo"
+ Inputs="$(MSBuildProjectFile)"
+ Outputs="$(AssemblyInfoFile)"
+ Condition="'$(GenerateAssemblyInfo)'=='true'">
+
+ <Error Condition="!Exists('$(IntermediateOutputPath)')" Text="GenerateAssemblyInfo failed because IntermediateOutputPath isn't set to a valid directory" />
+
+ <ItemGroup>
+ <AssemblyInfoUsings Include="using System%3B" />
+ <AssemblyInfoUsings Include="using System.Reflection%3B" />
+ <AssemblyInfoLines Include="[assembly:AssemblyTitle(&quot;$(AssemblyName)&quot;)]" />
+ <AssemblyInfoLines Include="[assembly:AssemblyDescription(&quot;$(AssemblyName)&quot;)]" />
+ <AssemblyInfoLines Include="[assembly:AssemblyDefaultAlias(&quot;$(AssemblyName)&quot;)]" />
+ <AssemblyInfoLines Include="[assembly:AssemblyCompany(&quot;Microsoft Corporation&quot;)]" />
+ <AssemblyInfoLines Include="[assembly:AssemblyProduct(&quot;Microsoft\x00ae .NET Framework&quot;)]" />
+ <AssemblyInfoLines Include="[assembly:AssemblyCopyright(&quot;\x00a9 Microsoft Corporation. All rights reserved.&quot;)]" />
+ <AssemblyInfoLines Include="[assembly:AssemblyVersion(&quot;$(AssemblyVersion)&quot;)]" />
+ <AssemblyInfoLines Include="[assembly:AssemblyFileVersion(&quot;$(AssemblyFileVersion)&quot;)]" />
+ <AssemblyInfoLines Include="[assembly:AssemblyInformationalVersion(@&quot;$(AssemblyFileVersion)$(BuiltByString)&quot;)]" />
+ <AssemblyInfoLines Condition="'$(CLSCompliant)'=='true'" Include="[assembly:CLSCompliant(true)]" />
+ </ItemGroup>
+
+ <WriteLinesToFile File="$(AssemblyInfoFile)"
+ Lines="@(AssemblyInfoUsings);@(AssemblyInfoLines)"
+ Overwrite="true" />
+
+ <ItemGroup>
+ <Compile Include="$(AssemblyInfoFile)" />
+ <FileWrites Include="$(AssemblyInfoFile)" />
+ </ItemGroup>
+ </Target>
+
+ <!-- #################################### -->
+ <!-- Generate Native Version Info -->
+ <!-- #################################### -->
+ <PropertyGroup Condition="'$(GenerateNativeVersionInfo)'=='true'">
+ <NativeVersionHeaderFile>$(IntermediateOutputPath)GeneratedVersion.h</NativeVersionHeaderFile>
+ <BeforeResourceCompileTargets>$(BeforeResourceCompileTargets);GenerateVersionHeader</BeforeResourceCompileTargets>
+ <Win32Resource>$(IntermediateOutputPath)\NativeVersion.res</Win32Resource>
+ <CoreCompileDependsOn>$(CoreCompileDependsOn);NativeResourceCompile</CoreCompileDependsOn>
+ </PropertyGroup>
+
+ <Target Name="GenerateVersionHeader"
+ Condition="'$(GenerateNativeVersionInfo)'=='true'"
+ Inputs="$(MSBuildProjectFile)"
+ Outputs="$(NativeVersionHeaderFile)">
+
+ <ItemGroup>
+ <NativeVersionLines Include="#define VER_COMPANYNAME_STR &quot;Microsoft Corporation&quot;" />
+ <NativeVersionLines Include="#define VER_FILEDESCRIPTION_STR &quot;$(AssemblyName)&quot;" />
+ <NativeVersionLines Include="#define VER_INTERNALNAME_STR VER_FILEDESCRIPTION_STR" />
+ <NativeVersionLines Include="#define VER_ORIGINALFILENAME_STR VER_FILEDESCRIPTION_STR" />
+ <NativeVersionLines Include="#define VER_PRODUCTNAME_STR &quot;Microsoft\xae .NET Framework&quot;" />
+ <NativeVersionLines Include="#define VER_PRODUCTVERSION $(MajorVersion),$(MinorVersion),$(BuildNumberMajor),$(BuildNumberMinor)" />
+ <NativeVersionLines Include="#define VER_PRODUCTVERSION_STR &quot;$(MajorVersion).$(MinorVersion).$(BuildNumberMajor).$(BuildNumberMinor)&quot;" />
+ <NativeVersionLines Include="#define VER_FILEVERSION $(MajorVersion),$(MinorVersion),$(BuildNumberMajor),$(BuildNumberMinor)" />
+ <NativeVersionLines Include="#define VER_FILEVERSION_STR &quot;$(MajorVersion).$(MinorVersion).$(BuildNumberMajor).$(BuildNumberMinor)&quot;" />
+ <NativeVersionLines Include="#define VER_LEGALCOPYRIGHT_STR &quot;\xa9 Microsoft Corporation. All rights reserved.&quot;" />
+ <NativeVersionLines Condition="'$(Configuration)'=='Debug'" Include="#define VER_DEBUG VS_FF_DEBUG" />
+ <NativeVersionLines Condition="'$(Configuration)'!='Debug'" Include="#define VER_DEBUG 0" />
+ </ItemGroup>
+
+ <WriteLinesToFile File="$(NativeVersionHeaderFile)"
+ Lines="@(NativeVersionLines)"
+ Overwrite="true" />
+
+ <ItemGroup>
+ <FileWrites Include="$(NativeVersionHeaderFile)" />
+ </ItemGroup>
+ </Target>
+
+
+ <PropertyGroup Condition="'$(GenerateNativeVersionInfo)'=='true'">
+ <WindowsSdkDir Condition="'$(WindowsSdkDir)'==''">$(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.1@InstallationFolder)</WindowsSdkDir>
+ <RCPath Condition="'$(RCPath)' == ''">$(WindowsSdkDir)bin\x86\rc.exe</RCPath>
+ </PropertyGroup>
+
+ <Target Name="NativeResourceCompile"
+ Condition="'$(GenerateNativeVersionInfo)'=='true'"
+ DependsOnTargets="GenerateVersionHeader"
+ Inputs="$(MsBuildThisFileDirectory)NativeVersion.rc"
+ Outputs="$(Win32Resource)">
+
+ <Exec Command="&quot;$(RCPath)&quot; /nologo /x /i &quot;$(IntermediateOutputPath.TrimEnd('\'))&quot; /i &quot;$(WindowsSdkDir)Include\$(WindowsSDKVersion)um&quot; /i &quot;$(WindowsSdkDir)Include\$(WindowsSDKVersion)\shared&quot; /D _UNICODE /D UNICODE /l&quot;0x0409&quot; /r /fo &quot;$(Win32Resource)&quot; &quot;$(MsBuildThisFileDirectory)NativeVersion.rc&quot;" />
+
+ </Target>
+</Project>