@@ -5,6 +5,7 @@
<BuildArguments>$(Platform) $(Configuration) skiptests</BuildArguments>
<BuildArguments Condition="'$(SkipDisablePgo)' != 'true'">$(BuildArguments) -nopgooptimize</BuildArguments>
- <BuildArguments Condition="'$(OS)' != 'Windows_NT'">$(BuildArguments) msbuildonunsupportedplatform</BuildArguments>
+ <BuildArguments Condition="'$(OSGroup)' != 'Windows_NT'">$(BuildArguments) msbuildonunsupportedplatform</BuildArguments>
+ <BuildArguments Condition="'$(TargetOS)' == 'FreeBSD'">$(BuildArguments) -clang6.0</BuildArguments>
<BuildArguments Condition="'$(UseSystemLibraries)' == 'true'">$(BuildArguments) cmakeargs -DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=TRUE</BuildArguments>
<BuildArguments Condition="$(Platform.Contains('arm'))">$(BuildArguments) skipnuget cross -skiprestore cmakeargs -DFEATURE_GDBJIT=TRUE</BuildArguments>
XmlInputPaths="@(AsnXml)"
OutputPaths="@(AsnXml -> '$(IntermediateOutputPath)asnxml\%(filename).cs')" />
- <Exec Condition="'$(OS)'=='Windows_NT'"
+ <Exec Condition="'$(OSGroup)'=='Windows_NT'"
IgnoreExitCode="true"
StandardOutputImportance="Low"
Command="$(SystemRoot)\System32\fc.exe /a @(AsnXml -> '$(IntermediateOutputPath)asnxml\%(filename).cs') @(AsnXml -> '%(Identity).cs')">
</Exec>
<!-- TODO: Call diff on Unix -->
- <ItemGroup Condition="'$(OS)'!='Windows_NT'">
+ <ItemGroup Condition="'$(OSGroup)'!='Windows_NT'">
<_AsnXmlDiffCode Include="1" />
</ItemGroup>
<DefaultOSGroup Condition="'$(DefaultOSGroup)' == '' and $([MSBuild]::IsOSPlatform('FREEBSD'))">FreeBSD</DefaultOSGroup>
<DefaultOSGroup Condition="'$(DefaultOSGroup)' == '' and $([MSBuild]::IsOSPlatform('NETBSD'))">NetBSD</DefaultOSGroup>
<DefaultOSGroup Condition="'$(DefaultOSGroup)' == '' and $([MSBuild]::IsOSUnixLike())">Linux</DefaultOSGroup>
- <DefaultOSGroup Condition="'$(DefaultOSGroup)' == ''">$(OS)</DefaultOSGroup>
+ <DefaultOSGroup Condition="'$(DefaultOSGroup)' == '' and $([MSBuild]::IsOSPlatform('WINDOWS'))">Windows_NT</DefaultOSGroup>
</PropertyGroup>
<PropertyGroup>
<!-- There are no WebAssembly tools, so use the default ones -->
<_buildingInOSX>$([MSBuild]::IsOSPlatform('OSX'))</_buildingInOSX>
- <ToolRuntimeRID Condition="'$(RuntimeOS)' == 'webassembly' and '$(OS)' == 'Windows_NT'">win-x64</ToolRuntimeRID>
- <ToolRuntimeRID Condition="'$(RuntimeOS)' == 'webassembly' and '$(OS)' != 'Windows_NT' and $(_buildingInOSX)">osx-x64</ToolRuntimeRID>
- <ToolRuntimeRID Condition="'$(RuntimeOS)' == 'webassembly' and '$(OS)' != 'Windows_NT' and !$(_buildingInOSX)">linux-x64</ToolRuntimeRID>
+ <ToolRuntimeRID Condition="'$(RuntimeOS)' == 'webassembly' and '$(OSGroup)' == 'Windows_NT'">win-x64</ToolRuntimeRID>
+ <ToolRuntimeRID Condition="'$(RuntimeOS)' == 'webassembly' and '$(OSGroup)' != 'Windows_NT' and $(_buildingInOSX)">osx-x64</ToolRuntimeRID>
+ <ToolRuntimeRID Condition="'$(RuntimeOS)' == 'webassembly' and '$(OSGroup)' != 'Windows_NT' and !$(_buildingInOSX)">linux-x64</ToolRuntimeRID>
<!-- support cross-targeting by choosing a RID to restore when running on a different machine that what we're build for -->
<_portableOS Condition="'$(OSGroup)' == 'Unix' and '$(_runtimeOSFamily)' != 'osx' and '$(_runtimeOSFamily)' != 'FreeBSD' and '$(_runtimeOS)' != 'linux-musl'">linux</_portableOS>
<DebugType>portable</DebugType>
<!-- Empty DebugType when building for netfx and in windows so that it is set to full or pdbonly later -->
- <DebugType Condition="'$(TargetsNetFx)' == 'true' and '$(OS)' == 'Windows_NT'" />
+ <DebugType Condition="'$(TargetsNetFx)' == 'true' and '$(OSGroup)' == 'Windows_NT'" />
<!-- Workaround for codecov issue https://github.com/tonerdo/coverlet/issues/312 -->
<EnableSourceLink Condition="'$(ContinuousIntegrationBuild)' != 'true' and '$(OfficialBuildId)' == ''">false</EnableSourceLink>
<GeneratorRuntimeConfig>$(MSBuildToolsPath)\MSBuild.runtimeconfig.json</GeneratorRuntimeConfig>
<GeneratorCommand Condition="'$(TargetsNetCoreApp)' == 'true'">"$(TestHostRootPath)$([System.IO.Path]::GetFileName('$(DotNetTool)'))" --fx-version $(ProductVersion)</GeneratorCommand>
<GeneratorCommand Condition="'$(TargetsNetCoreApp)' != 'true'">"$(DotNetTool)"</GeneratorCommand>
- <GeneratorCommand Condition="'$(OS)' == 'Windows_NT'">set DOTNET_MULTILEVEL_LOOKUP=0 & $(GeneratorCommand)</GeneratorCommand>
- <GeneratorCommand Condition="'$(OS)' != 'Windows_NT'">export DOTNET_MULTILEVEL_LOOKUP=0 && $(GeneratorCommand)</GeneratorCommand>
+ <GeneratorCommand Condition="'$(OSGroup)' == 'Windows_NT'">set DOTNET_MULTILEVEL_LOOKUP=0 & $(GeneratorCommand)</GeneratorCommand>
+ <GeneratorCommand Condition="'$(OSGroup)' != 'Windows_NT'">export DOTNET_MULTILEVEL_LOOKUP=0 && $(GeneratorCommand)</GeneratorCommand>
</PropertyGroup>
<ItemGroup Condition=" '$(SkipTestsOnPlatform)' != 'true' ">
<Compile Include=".\SGenTests.cs" />
<PropertyGroup>
<!-- Hardcode version paths in a global location. -->
- <NativeVersionFile Condition="'$(OS)' == 'Windows_NT'">$(ArtifactsObjDir)_version.h</NativeVersionFile>
- <NativeVersionFile Condition="'$(OS)' != 'Windows_NT'">$(ArtifactsObjDir)_version.c</NativeVersionFile>
+ <NativeVersionFile Condition="'$(OSGroup)' == 'Windows_NT'">$(ArtifactsObjDir)_version.h</NativeVersionFile>
+ <NativeVersionFile Condition="'$(OSGroup)' != 'Windows_NT'">$(ArtifactsObjDir)_version.c</NativeVersionFile>
<_BuildNativeArgs>$(ArchGroup) $(Configuration) outconfig $(BuildTargetFramework)-$(OSGroup)-$(Configuration)-$(ArchGroup)</_BuildNativeArgs>
</PropertyGroup>
<Target Name="BuildNativeUnix"
- Condition="'$(OS)' != 'Windows_NT'">
+ Condition="'$(OSGroup)' != 'Windows_NT'">
<PropertyGroup>
<!--
<!-- We don't have any native components when building for netfx. -->
<Target Name="BuildNativeWindows"
- Condition="'$(OS)' == 'Windows_NT' and '$(TargetsNetFx)' != 'true'">
+ Condition="'$(OSGroup)' == 'Windows_NT' and '$(TargetsNetFx)' != 'true'">
<!-- Run script that invokes Cmake to create VS files, and then calls msbuild to compile them -->
<Message Text=""$(MSBuildProjectDirectory)\build-native.cmd" $(_BuildNativeArgs)" Importance="High"/>
SkipUnchangedFiles="true"
UseHardlinksIfPossible="$(UseHardlink)" />
- <Exec Command="chmod +x $(TestHostRootPath)%(DotnetExe.Filename)%(DotnetExe.Extension)" Condition="'$(OS)' != 'Windows_NT'"/>
+ <Exec Command="chmod +x $(TestHostRootPath)%(DotnetExe.Filename)%(DotnetExe.Extension)" Condition="'$(OSGroup)' != 'Windows_NT'"/>
</Target>
<Target Name="OverrideRuntimeCoreCLR"