17 changed files with 204 additions and 18 deletions
@ -0,0 +1,46 @@ |
|||||||
|
// SharpDevelop samples
|
||||||
|
// Copyright (c) 2006, AlphaSierraPapa
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// Redistribution and use in source and binary forms, with or without modification, are
|
||||||
|
// permitted provided that the following conditions are met:
|
||||||
|
//
|
||||||
|
// - Redistributions of source code must retain the above copyright notice, this list
|
||||||
|
// of conditions and the following disclaimer.
|
||||||
|
//
|
||||||
|
// - Redistributions in binary form must reproduce the above copyright notice, this list
|
||||||
|
// of conditions and the following disclaimer in the documentation and/or other materials
|
||||||
|
// provided with the distribution.
|
||||||
|
//
|
||||||
|
// - Neither the name of the SharpDevelop team nor the names of its contributors may be used to
|
||||||
|
// endorse or promote products derived from this software without specific prior written
|
||||||
|
// permission.
|
||||||
|
//
|
||||||
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &AS IS& AND ANY EXPRESS
|
||||||
|
// OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||||
|
// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||||
|
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
||||||
|
// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||||
|
// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
using System; |
||||||
|
|
||||||
|
namespace Mono.Build.Tasks |
||||||
|
{ |
||||||
|
/// <summary>
|
||||||
|
/// MSBuild task for Mono's DMCS.
|
||||||
|
/// </summary>
|
||||||
|
public class Dmcs : MonoCSharpCompilerTask |
||||||
|
{ |
||||||
|
protected override string ToolName { |
||||||
|
get { return "Dmcs.exe"; } |
||||||
|
} |
||||||
|
|
||||||
|
protected override string GenerateFullPathToTool() |
||||||
|
{ |
||||||
|
return MonoToolLocationHelper.GetPathToTool(ToolName); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,113 @@ |
|||||||
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build"> |
||||||
|
|
||||||
|
<UsingTask TaskName="Mono.Build.Tasks.Dmcs" |
||||||
|
AssemblyFile="$(MonoBuildTasksPath)\Mono.Build.Tasks.dll"/> |
||||||
|
<UsingTask TaskName="Mono.Build.Tasks.GetMonoFrameworkPath" |
||||||
|
AssemblyFile="$(MonoBuildTasksPath)\Mono.Build.Tasks.dll"/> |
||||||
|
<UsingTask TaskName="Mono.Build.Tasks.GetMonoFrameworkSdkPath" |
||||||
|
AssemblyFile="$(MonoBuildTasksPath)\Mono.Build.Tasks.dll"/> |
||||||
|
<UsingTask TaskName="Mono.Build.Tasks.AddMonoAssemblySearchPaths" |
||||||
|
AssemblyFile="$(MonoBuildTasksPath)\Mono.Build.Tasks.dll"/> |
||||||
|
|
||||||
|
<PropertyGroup> |
||||||
|
<MSBuildAllProjects>$(MSBuildAllProjects);$(MonoBuildTasksPath)\SharpDevelop.Build.Mono.Dmcs.targets</MSBuildAllProjects> |
||||||
|
<DefaultLanguageSourceExtension>.cs</DefaultLanguageSourceExtension> |
||||||
|
<Language>C#</Language> |
||||||
|
</PropertyGroup> |
||||||
|
|
||||||
|
<!-- Override AssemblySearchPaths property and remove Microsoft specific search paths --> |
||||||
|
<PropertyGroup> |
||||||
|
<AssemblySearchPaths> |
||||||
|
{CandidateAssemblyFiles}; |
||||||
|
$(ReferencePath); |
||||||
|
{HintPathFromItem}; |
||||||
|
{TargetFrameworkDirectory}; |
||||||
|
{MonoGAC}; |
||||||
|
{RawFileName}; |
||||||
|
$(OutputPath) |
||||||
|
</AssemblySearchPaths> |
||||||
|
</PropertyGroup> |
||||||
|
|
||||||
|
<Target Name="GetFrameworkPaths"> |
||||||
|
<!-- Get the path to the target Mono Framework directory. --> |
||||||
|
<GetMonoFrameworkPath TargetFrameworkVersion="$(MonoTargetFrameworkVersion)"> |
||||||
|
<Output TaskParameter="Path" PropertyName="TargetFrameworkDirectory"/> |
||||||
|
<Output TaskParameter="Path" ItemName="_TargetFrameworkDirectoryItem"/> |
||||||
|
</GetMonoFrameworkPath> |
||||||
|
|
||||||
|
<!-- Get the path to the target the Mono SDK directory. --> |
||||||
|
<GetMonoFrameworkSDKPath> |
||||||
|
<Output TaskParameter="Path" PropertyName="TargetFrameworkSDKDirectory"/> |
||||||
|
<Output TaskParameter="Path" ItemName="_TargetFrameworkSDKDirectoryItem"/> |
||||||
|
</GetMonoFrameworkSDKPath> |
||||||
|
</Target> |
||||||
|
|
||||||
|
<!-- Modify what the ResolveAssemblyReferences tasks depends on so the |
||||||
|
AssemblySearchPaths can be modified to use the Mono GAC --> |
||||||
|
<PropertyGroup> |
||||||
|
<ResolveAssemblyReferencesDependsOn> |
||||||
|
GetFrameworkPaths; |
||||||
|
GetReferenceAssemblyPaths; |
||||||
|
PrepareForBuild; |
||||||
|
AddMonoAssemblySearchPaths |
||||||
|
</ResolveAssemblyReferencesDependsOn> |
||||||
|
</PropertyGroup> |
||||||
|
<Target Name="AddMonoAssemblySearchPaths"> |
||||||
|
<AddMonoAssemblySearchPaths |
||||||
|
Assemblies="@(Reference)" |
||||||
|
Paths="$(AssemblySearchPaths)"> |
||||||
|
|
||||||
|
<Output TaskParameter="Paths" PropertyName="AssemblySearchPaths"/> |
||||||
|
</AddMonoAssemblySearchPaths> |
||||||
|
</Target> |
||||||
|
|
||||||
|
<Target |
||||||
|
Name="CoreCompile" |
||||||
|
Inputs="$(MSBuildAllProjects); |
||||||
|
@(Compile); |
||||||
|
@(ManifestResourceWithNoCulture); |
||||||
|
$(ApplicationIcon); |
||||||
|
$(AssemblyOriginatorKeyFile); |
||||||
|
@(ManifestNonResxWithNoCultureOnDisk); |
||||||
|
@(ReferencePath); |
||||||
|
@(CompiledLicenseFile)" |
||||||
|
Outputs="@(DocFileItem); |
||||||
|
@(IntermediateAssembly); |
||||||
|
$(NonExistentFile)" |
||||||
|
DependsOnTargets="$(CoreCompileDependsOn)" |
||||||
|
> |
||||||
|
|
||||||
|
<Dmcs |
||||||
|
AdditionalLibPaths="$(AdditionalLibPaths)" |
||||||
|
AddModules="@(AddModules)" |
||||||
|
AllowUnsafeBlocks="$(AllowUnsafeBlocks)" |
||||||
|
CheckForOverflowUnderflow="$(CheckForOverflowUnderflow)" |
||||||
|
CodePage="$(CodePage)" |
||||||
|
DebugType="$(DebugType)" |
||||||
|
DefineConstants="$(DefineConstants)" |
||||||
|
DelaySign="$(DelaySign)" |
||||||
|
DisabledWarnings="$(NoWarn)" |
||||||
|
DocumentationFile="@(DocFileItem)" |
||||||
|
EmitDebugInformation="$(DebugSymbols)" |
||||||
|
KeyContainer="$(KeyContainerName)" |
||||||
|
KeyFile="$(KeyOriginatorFile)" |
||||||
|
LangVersion="$(LangVersion)" |
||||||
|
MainEntryPoint="$(StartupObject)" |
||||||
|
NoConfig="true" |
||||||
|
NoLogo="$(NoLogo)" |
||||||
|
NoStandardLib="$(NoStdLib)" |
||||||
|
Optimize="$(Optimize)" |
||||||
|
OutputAssembly="@(IntermediateAssembly)" |
||||||
|
References="@(ReferencePath)" |
||||||
|
Resources="@(ManifestResourceWithNoCulture);@(ManifestNonResxWithNoCultureOnDisk);@(CompiledLicenseFile)" |
||||||
|
ResponseFiles="$(CompilerResponseFile)" |
||||||
|
Sources="@(Compile)" |
||||||
|
TargetType="$(OutputType)" |
||||||
|
ToolPath="$(GmcsToolPath)" |
||||||
|
TreatWarningsAsErrors="$(TreatWarningsAsErrors)" |
||||||
|
WarningLevel="$(WarningLevel)" |
||||||
|
Win32Icon="$(ApplicationIcon)" |
||||||
|
Win32Resource="$(Win32Resource)" /> |
||||||
|
</Target> |
||||||
|
|
||||||
|
</Project> |
||||||
Loading…
Reference in new issue