roblox-cs / dotnet /sdk /8.0.402 /FSharp /Microsoft.FSharp.NetSdk.props
asynchronousai's picture
Upload 2613 files
090629c verified
<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -->
<!--
***********************************************************************************************
Microsoft.FSharp.NetSdk.props
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.
***********************************************************************************************
-->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>
<Choose>
<When Condition="'$(DefineConstants)' == '' ">
<PropertyGroup>
<DefineConstants>TRACE</DefineConstants>
</PropertyGroup>
</When>
<Otherwise>
<PropertyGroup>
<DefineConstants>$(DefineConstants);TRACE</DefineConstants>
</PropertyGroup>
</Otherwise>
</Choose>
<PropertyGroup>
<EnableDefaultCompileItems Condition=" '$(EnableDefaultCompileItems)' == '' ">false</EnableDefaultCompileItems> <!-- Do not glob F# source files -->
<!--
It turns out that the project system discovers Folders as a consequence of <SomeItem Include="path to files" />
''''EnableDefaultNoneItems true'''' causes folders and .fsi files to be displayed in the wrong order. because
Discovers Folders as a consequence of ````<SomeItem Include="path to files" />```` which EnableDefaultNoneItems causes folders and .fsi files to be located in the solution folder
prior to the ````<Compile Include="" />```` in the .fsproj which messes with the display order in solution explorer.
-->
<EnableDefaultNoneItems Condition=" '$(EnableDefaultNoneItems)' == '' ">false</EnableDefaultNoneItems> <!-- Do not glob F# none items-->
</PropertyGroup>
<PropertyGroup>
<Language>F#</Language> <!-- It's an F# Language project -->
<DefaultProjectTypeGuid Condition=" '$(DefaultProjectTypeGuid)' == '' ">{F2A71F9B-5D33-465A-A702-920D77279786}</DefaultProjectTypeGuid> <!-- F# project type -->
<Prefer32Bit Condition="'$(Prefer32Bit)' == '' ">false</Prefer32Bit>
<TreatWarningsAsErrors Condition="'$(TreatWarningsAsErrors)' == '' ">false</TreatWarningsAsErrors>
<WarningLevel Condition=" '$(WarningLevel)' == '' ">3</WarningLevel>
<WarningsAsErrors>3239;$(WarningsAsErrors)</WarningsAsErrors>
<UseStandardResourceNames Condition=" '$(UseStandardResourceNames)' == '' ">true</UseStandardResourceNames>
<FsiExec Condition=" '$(FsiExec)' == '' ">true</FsiExec>
<ReflectionFree Condition=" '$(ReflectionFree)' == '' ">false</ReflectionFree>
</PropertyGroup>
<!-- BinaryFormatter is disabled (warning is treated as error) by default in .NET8+, this mirroring the change in SDK (https://github.com/dotnet/sdk/pull/31591) -->
<PropertyGroup>
<WarningsAsErrors Condition="'$(_BinaryFormatterObsoleteAsError)' == 'true'">$(WarningsAsErrors);SYSLIB0011</WarningsAsErrors>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<DebugSymbols Condition="'$(DebugSymbols)' == '' ">true</DebugSymbols>
<Optimize Condition="'$(Optimize)' == '' ">false</Optimize>
<Tailcalls Condition="'$(Tailcalls)' == '' ">false</Tailcalls>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<DebugSymbols Condition="'$(DebugSymbols)' == '' ">false</DebugSymbols>
<Optimize Condition="'$(Optimize)' == '' ">true</Optimize>
<Tailcalls Condition="'$(Tailcalls)' == '' ">true</Tailcalls>
</PropertyGroup>
<PropertyGroup Condition="'$(DisableAutoSetFscCompilerPath)' != 'true' and '$(DOTNET_HOST_PATH)' != ''">
<FscToolPath Condition="'$(FscToolPath)' == ''">$([System.IO.Path]::GetDirectoryName($(DOTNET_HOST_PATH)))</FscToolPath>
<FscToolExe Condition="'$(FscToolExe)' == ''">$([System.IO.Path]::GetFileName($(DOTNET_HOST_PATH)))</FscToolExe>
<DotnetFscCompilerPath Condition="'$(DotnetFscCompilerPath)' == ''">"$(MSBuildThisFileDirectory)fsc.dll"</DotnetFscCompilerPath>
<FsiToolPath Condition="'$(FsiToolPath)' == ''">$([System.IO.Path]::GetDirectoryName($(DOTNET_HOST_PATH)))</FsiToolPath>
<FsiToolExe Condition="'$(FsiToolExe)' == ''">$([System.IO.Path]::GetFileName($(DOTNET_HOST_PATH)))</FsiToolExe>
<DotnetFsiCompilerPath Condition="'$(DotnetFscCompilerPath)' == ''">"$(MSBuildThisFileDirectory)fsi.dll"</DotnetFsiCompilerPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(ManagePackageVersionsCentrally)' == 'true' ">
<DisableImplicitSystemValueTupleReference Condition="'$(DisableImplicitSystemValueTupleReference)' == ''">true</DisableImplicitSystemValueTupleReference>
<DisableImplicitFSharpCoreReference Condition="'$(DisableImplicitFSharpCoreReference)' == ''">true</DisableImplicitFSharpCoreReference>
</PropertyGroup>
<ItemGroup Condition="'$(DisableImplicitSystemValueTupleReference)' != 'true'
and ('$(TargetFrameworkIdentifier)' == '.NETStandard' or '$(TargetFrameworkIdentifier)' == '.NETCoreApp')
and !('$(_TargetFrameworkVersionWithoutV)' >= '2.0' )">
<PackageReference Include="System.ValueTuple" Version="$(ValueTupleImplicitPackageVersion)" />
</ItemGroup>
<Import Project="Microsoft.FSharp.Core.NetSdk.props" /> <!-- Sets initial value of FSharp.Core -->
<PropertyGroup>
<ValueTupleImplicitPackageVersion>4.4.0</ValueTupleImplicitPackageVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference
Include="FSharp.Core" Version="$(FSharpCoreImplicitPackageVersion)"
Condition="'$(DisableImplicitFSharpCoreReference)' != 'true' and '$(FSharpCoreImplicitPackageVersion)' != ''">
<ExcludeAssets Condition="'$(FSharpCoreIncludeDocFileInOutput)' != 'true'">contentFiles</ExcludeAssets>
</PackageReference>
<PackageReference
Include="FSharp.Core" Version="$(FSCorePackageVersion)"
Condition="'$(DisableImplicitFSharpCoreReference)' != 'true' and '$(FSharpCoreImplicitPackageVersion)' == ''">
<ExcludeAssets Condition="'$(FSharpCoreIncludeDocFileInOutput)' != 'true'">contentFiles</ExcludeAssets>
</PackageReference>
</ItemGroup>
<ItemGroup Condition="'$(DisableImplicitSystemValueTupleReference)' != 'true'
and ('$(TargetFrameworkIdentifier)' == '.NETFramework'
and ('$(_TargetFrameworkVersionWithoutV)' == ''
or '$(_TargetFrameworkVersionWithoutV)' == '4.0' or
'$(_TargetFrameworkVersionWithoutV)' == '4.5' or
'$(_TargetFrameworkVersionWithoutV)' == '4.5.1' or
'$(_TargetFrameworkVersionWithoutV)' == '4.5.2' or
'$(_TargetFrameworkVersionWithoutV)' == '4.6' or
'$(_TargetFrameworkVersionWithoutV)' == '4.6.1' or
'$(_TargetFrameworkVersionWithoutV)' == '4.6.2' or
'$(_TargetFrameworkVersionWithoutV)' == '4.7')) ">
<PackageReference Include="System.ValueTuple" Version="$(ValueTupleImplicitPackageVersion)" />
</ItemGroup>
<ItemDefinitionGroup>
<PackageReference>
<GeneratePathProperty>true</GeneratePathProperty>
</PackageReference>
</ItemDefinitionGroup>
</Project>