17 changed files with 204 additions and 18 deletions
@ -0,0 +1,46 @@
@@ -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 @@
@@ -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