csharpfftfsharpintegrationinterpolationlinear-algebramathdifferentiationmatrixnumericsrandomregressionstatisticsmathnet
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.
177 lines
7.4 KiB
177 lines
7.4 KiB
<!--
|
|
***********************************************************************************************
|
|
Microsoft.FSharp.targets
|
|
|
|
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
|
|
created a backup copy. Incorrect changes to this file will make it
|
|
impossible to load or build your projects from the command-line or the IDE.
|
|
|
|
This file defines the steps in the standard build process specific for F# .NET projects.
|
|
For example, it contains the step that actually calls the F# compiler. The remainder
|
|
of the build process is defined in Microsoft.Common.targets, which is imported by
|
|
this file.
|
|
|
|
Copyright (C) Microsoft Corporation. All rights reserved.
|
|
***********************************************************************************************
|
|
-->
|
|
|
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
|
|
<UsingTask TaskName="Fsc" AssemblyFile="FSharp.Build.dll"/>
|
|
<UsingTask TaskName="CreateFSharpManifestResourceName" AssemblyFile="FSharp.Build.dll"/>
|
|
|
|
|
|
<PropertyGroup>
|
|
<FSharpTargetsDir Condition="'$(FSharpTargetsDir)'==''">$(MSBuildExtensionsPath)\FSharp\1.0\</FSharpTargetsDir>
|
|
<MSBuildAllProjects>$(MSBuildAllProjects);$(FSharpTargetsDir)\Microsoft.FSharp.targets</MSBuildAllProjects>
|
|
<DefaultLanguageSourceExtension>.fs</DefaultLanguageSourceExtension>
|
|
<Language>F#</Language>
|
|
<!-- Earlier project types did not have an explicit tailcalls property in the .fsproj. In this case, derive the value from the optimize flag -->
|
|
<Tailcalls Condition="'$(Tailcalls)'==''">$(Optimize)</Tailcalls>
|
|
</PropertyGroup>
|
|
|
|
<!--
|
|
The CreateManifestResourceNames target create the manifest resource names from the .RESX
|
|
files.
|
|
|
|
[IN]
|
|
@(EmbeddedResource) - The list of EmbeddedResource items that have been pre-processed to add metadata about resource type
|
|
Expected Metadata "Type" can either be "Resx" or "Non-Resx"
|
|
|
|
[OUT]
|
|
@(EmbeddedResource) - EmbeddedResource items with metadata
|
|
|
|
For F# applications the transformation is like:
|
|
|
|
Resources1.resx => Resources1 => Build into main assembly
|
|
SubFolder\Resources1.resx => SubFolder.Resources1 => Build into main assembly
|
|
Resources1.fr.resx => Resources1.fr => Build into satellite assembly
|
|
Resources1.notaculture.resx => Resources1.notaculture => Build into main assembly
|
|
|
|
For other project systems, this transformation may be different.
|
|
-->
|
|
<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 -->
|
|
<CreateFSharpManifestResourceName
|
|
ResourceFiles="@(EmbeddedResource)"
|
|
RootNamespace="$(RootNamespace)"
|
|
Condition="'%(EmbeddedResource.ManifestResourceName)' == '' and ('%(EmbeddedResource.WithCulture)' == 'false' or '%(EmbeddedResource.Type)' == 'Resx')">
|
|
|
|
<Output TaskParameter="ResourceFilesWithManifestResourceNames" ItemName="_Temporary" />
|
|
|
|
</CreateFSharpManifestResourceName>
|
|
|
|
<!-- Create manifest names for all culture non-resx resources -->
|
|
<CreateFSharpManifestResourceName
|
|
ResourceFiles="@(EmbeddedResource)"
|
|
RootNamespace="$(RootNamespace)"
|
|
PrependCultureAsDirectory="false"
|
|
Condition="'%(EmbeddedResource.ManifestResourceName)' == '' and '%(EmbeddedResource.WithCulture)' == 'true' and '%(EmbeddedResource.Type)' == 'Non-Resx'">
|
|
|
|
<Output TaskParameter="ResourceFilesWithManifestResourceNames" ItemName="_Temporary" />
|
|
|
|
</CreateFSharpManifestResourceName>
|
|
|
|
<ItemGroup>
|
|
<EmbeddedResource Remove="@(EmbeddedResource)" Condition="'%(EmbeddedResource.ManifestResourceName)' == ''"/>
|
|
<EmbeddedResource Include="@(_Temporary)" />
|
|
<_Temporary Remove="@(_Temporary)" />
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<ItemGroup>
|
|
<DocFileItem Include="$(DocumentationFile)" Condition="'$(DocumentationFile)'!=''"/>
|
|
<_DebugSymbolsIntermediatePathTemporary Include="$(PdbFile)"/>
|
|
<!-- Add any missing .pdb extension, as the compiler does -->
|
|
<_DebugSymbolsIntermediatePath Include="@(_DebugSymbolsIntermediatePathTemporary->'%(RootDir)%(Directory)%(Filename).pdb')"/>
|
|
</ItemGroup>
|
|
|
|
<PropertyGroup>
|
|
<!-- Provide a facility to override UseHostCompilerIfAvailable-->
|
|
<UseHostCompilerIfAvailable Condition=" '$(UseHostCompilerIfAvailable)' == ''">false</UseHostCompilerIfAvailable>
|
|
<CoreCompileDependsOn>_ComputeNonExistentFileProperty</CoreCompileDependsOn>
|
|
<WarningsAsErrors>$(WarningsAsErrors)</WarningsAsErrors>
|
|
</PropertyGroup>
|
|
|
|
<Target
|
|
Name="CoreCompile"
|
|
Inputs="$(MSBuildProjectFullPath);
|
|
@(Compile);
|
|
@(_CoreCompileResourceInputs);
|
|
$(ApplicationIcon);
|
|
$(AssemblyOriginatorKeyFile);
|
|
@(ReferencePath);
|
|
@(CompiledLicenseFile);
|
|
@(EmbeddedDocumentation);
|
|
$(Win32Resource);
|
|
$(Win32Manifest);
|
|
@(CustomAdditionalCompileInputs);
|
|
$(VersionFile);
|
|
$(KeyOriginatorFile);
|
|
@(CompileBefore);
|
|
@(CompileAfter)"
|
|
Outputs="@(DocFileItem);
|
|
@(IntermediateAssembly);
|
|
$(NonExistentFile);
|
|
@(CustomAdditionalCompileOutputs)"
|
|
DependsOnTargets="$(CoreCompileDependsOn)"
|
|
Condition="'$(OutputType)'!='None'">
|
|
|
|
<!-- Condition is to filter out the _CoreCompileResourceInputs so that it doesn't pass in culture resources to the compiler -->
|
|
<Fsc Condition=" '%(_CoreCompileResourceInputs.WithCulture)' != 'true' "
|
|
CodePage="$(CodePage)"
|
|
DebugSymbols="$(DebugSymbols)"
|
|
DebugType="$(DebugType)"
|
|
BaseAddress="$(BaseAddress)"
|
|
DefineConstants="$(DefineConstants)"
|
|
DisabledWarnings="$(DisabledWarnings)"
|
|
DocumentationFile="$(DocumentationFile)"
|
|
GenerateInterfaceFile="$(GenerateInterfaceFile)"
|
|
KeyFile="$(KeyOriginatorFile)"
|
|
NoFramework="true"
|
|
NoWarn="$(NoWarn)"
|
|
Optimize="$(Optimize)"
|
|
Tailcalls="$(Tailcalls)"
|
|
OtherFlags="$(OtherFlags)"
|
|
OutputAssembly="@(IntermediateAssembly)"
|
|
PdbFile="$(PdbFile)"
|
|
Platform="$(PlatformTarget)"
|
|
VersionFile="$(VersionFile)"
|
|
References="@(ReferencePath)"
|
|
ReferencePath="$(ReferencePath)"
|
|
Resources="@(_CoreCompileResourceInputs);@(CompiledLicenseFile);@(AdditionalEmbeddedResource)"
|
|
Sources="@(CompileBefore);@(Compile);@(CompileAfter)"
|
|
TargetType="$(OutputType)"
|
|
ToolPath="$(FscToolPath)"
|
|
ToolExe="$(FscToolExe)"
|
|
TreatWarningsAsErrors="$(TreatWarningsAsErrors)"
|
|
Utf8Output="$(Utf8Output)"
|
|
VisualStudioStyleErrors="$(VisualStudioStyleErrors)"
|
|
WarningsAsErrors="$(WarningsAsErrors)"
|
|
WarningLevel="$(WarningLevel)"
|
|
Win32ResourceFile="$(Win32Resource)"
|
|
Win32ManifestFile="$(Win32Manifest)">
|
|
</Fsc>
|
|
|
|
<ItemGroup>
|
|
<_CoreCompileResourceInputs Remove="@(_CoreCompileResourceInputs)" />
|
|
</ItemGroup>
|
|
|
|
</Target>
|
|
|
|
<Import Project="$(MSBuildBinPath)\Microsoft.Common.targets"/>
|
|
|
|
</Project>
|
|
|
|
|