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
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>
|
|
|