#develop (short for SharpDevelop) is a free IDE for .NET programming languages.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

105 lines
4.1 KiB

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
<UsingTask
TaskName="ICSharpCode.Python.Build.Tasks.PythonCompilerTask"
AssemblyFile="$(PythonBinPath)\Python.Build.Tasks.dll"/>
<UsingTask
TaskName="Microsoft.Build.Tasks.CreateCSharpManifestResourceName"
AssemblyName="Microsoft.Build.Tasks.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(PythonBinPath)\SharpDevelop.Build.Python.targets</MSBuildAllProjects>
<DefaultLanguageSourceExtension>.py</DefaultLanguageSourceExtension>
<Language>Python</Language>
</PropertyGroup>
<PropertyGroup>
<CreateManifestResourceNamesDependsOn></CreateManifestResourceNamesDependsOn>
</PropertyGroup>
<Target
Name="CreateManifestResourceNames"
Condition="'@(EmbeddedResource)' != ''"
DependsOnTargets="$(CreateManifestResourceNamesDependsOn)"
>
<ItemGroup>
<_Temporary Remove="@(_Temporary)" />
</ItemGroup>
<!-- Create manifest names for culture and non-culture Resx files, and for non-culture Non-Resx resources -->
<CreateCSharpManifestResourceName
ResourceFiles="@(EmbeddedResource)"
RootNamespace="$(RootNamespace)"
Condition="'%(EmbeddedResource.ManifestResourceName)' == '' and ('%(EmbeddedResource.WithCulture)' == 'false' or '%(EmbeddedResource.Type)' == 'Resx')">
<Output TaskParameter="ResourceFilesWithManifestResourceNames" ItemName="_Temporary" />
</CreateCSharpManifestResourceName>
<!-- Create manifest names for all culture non-resx resources -->
<CreateCSharpManifestResourceName
ResourceFiles="@(EmbeddedResource)"
RootNamespace="$(RootNamespace)"
PrependCultureAsDirectory="false"
Condition="'%(EmbeddedResource.ManifestResourceName)' == '' and '%(EmbeddedResource.WithCulture)' == 'true' and '%(EmbeddedResource.Type)' == 'Non-Resx'">
<Output TaskParameter="ResourceFilesWithManifestResourceNames" ItemName="_Temporary" />
</CreateCSharpManifestResourceName>
<ItemGroup>
<EmbeddedResource Remove="@(EmbeddedResource)" Condition="'%(EmbeddedResource.ManifestResourceName)' == ''"/>
<EmbeddedResource Include="@(_Temporary)" />
<_Temporary Remove="@(_Temporary)" />
</ItemGroup>
</Target>
<Target
Name="CoreCompile"
Inputs="$(MSBuildAllProjects);
@(Compile);
@(_CoreCompileResourceInputs);
@(ReferencePath)"
Outputs="@(IntermediateAssembly)"
DependsOnTargets="$(CoreCompileDependsOn)"
>
<PythonCompilerTask
EmitDebugInformation="$(DebugSymbols)"
MainFile="$(MainFile)"
Platform="$(PlatformTarget)"
OutputAssembly="@(IntermediateAssembly)"
References="@(ReferencePath)"
Resources="@(_CoreCompileResourceInputs)"
Sources="@(Compile)"
TargetType="$(OutputType)"/>
</Target>
<Import Project="$(MSBuildBinPath)\Microsoft.Common.targets"/>
<PropertyGroup>
<PrepareForRunDependsOn>
CopyFilesToOutputDirectory;CopyIntermediateAssemblyDllToOutputDirectory
</PrepareForRunDependsOn>
</PropertyGroup>
<Target
Name="PrepareForRun"
DependsOnTargets="$(PrepareForRunDependsOn)"
/>
<ItemGroup>
<IntermediateAssemblyDll Include="$(IntermediateOutputPath)$(TargetName).dll"/>
</ItemGroup>
<!-- The Python compiler generates a separate dll if an exe is compiled which needs to
be copied to the output folder -->
<Target
Name="CopyIntermediateAssemblyDllToOutputDirectory"
>
<Copy SourceFiles="@(IntermediateAssemblyDll)"
DestinationFolder="$(OutDir)"
SkipUnchangedFiles="true"
OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)"
Condition="'$(OutputType)'=='exe' Or '$(OutputType)'=='winexe'">
<Output TaskParameter="DestinationFiles" ItemName="FileWrites"/>
</Copy>
</Target>
</Project>