mirror of
https://github.com/VSadov/Satori.git
synced 2025-06-08 03:27:04 +09:00
Lowercase TargetOS (#80164)
Follow-up on #32451 Follow-up on #80074 In #43651, the "Windows" OS name was lowercased to achieve target frameworks with RIDs in them. At that time, the original plan was to lowercase all TargetOS values but that had to be cut because of resources. This PR finishes that and updates build systems, YML, markdowns and managed components. To not break existing developer workflows, the passed-in -os value is automatically lower-cased in the script entry points and validated in the msbuild entry point.
This commit is contained in:
parent
5385f045f9
commit
2ca7cf7140
324 changed files with 1980 additions and 1981 deletions
|
@ -126,10 +126,10 @@ internal static partial class Interop // contents of Common\src\Interop\Windows\
|
|||
```
|
||||
|
||||
### Build System
|
||||
When building dotnet/runtime, we use the "TargetOS" property to control what target platform we are building for. The valid values for this property are windows (which is the default value from MSBuild when running on Windows), Linux and OSX.
|
||||
When building dotnet/runtime, we use the "TargetOS" property to control what target platform we are building for. The valid values for this property are windows (which is the default value from MSBuild when running on Windows), linux and osx.
|
||||
|
||||
#### Project Files
|
||||
Whenever possible, a single .csproj should be used per assembly, spanning all target platforms, e.g. System.Console.csproj includes conditional entries for when targeting Windows vs when targeting Linux. A property can be passed to dotnet build to control which flavor is built, e.g. `dotnet build /p:TargetOS=OSX System.Console.csproj`.
|
||||
Whenever possible, a single .csproj should be used per assembly, spanning all target platforms, e.g. System.Console.csproj includes conditional entries for when targeting Windows vs when targeting Linux. A property can be passed to dotnet build to control which flavor is built, e.g. `dotnet build /p:TargetOS=osx System.Console.csproj`.
|
||||
|
||||
### Constants
|
||||
- Wherever possible, constants should be defined as "const". Only if the data type doesn't support this (e.g. IntPtr) should they instead be static readonly fields.
|
||||
|
|
|
@ -19,15 +19,15 @@ Below is a list of all the various options we pivot the project builds on:
|
|||
|
||||
- **Target Frameworks:** .NETFramework, .NETStandard, .NETCoreApp
|
||||
- **Platform Runtimes:** .NETFramework (aka CLR/Desktop), CoreCLR, Mono
|
||||
- **OS:** windows, Linux, OSX, FreeBSD, AnyOS
|
||||
- **OS:** windows, linux, osx, freebsd, AnyOS
|
||||
- **Flavor:** Debug, Release
|
||||
|
||||
## Individual build properties
|
||||
The following are the properties associated with each build pivot
|
||||
|
||||
- `$(BuildTargetFramework) -> Any .NETCoreApp or .NETFramework TFM, e.g. net8.0`
|
||||
- `$(TargetOS) -> Windows | Linux | OSX | FreeBSD | [defaults to running OS when empty]`
|
||||
- `$(Configuration) -> Release | [defaults to Debug when empty]`
|
||||
- `$(TargetOS) -> windows | linux | osx | freebsd | ... | [defaults to running OS when empty]`
|
||||
- `$(Configuration) -> Debug | Release | [defaults to Debug when empty]`
|
||||
- `$(TargetArchitecture) - x86 | x64 | arm | arm64 | [defaults to x64 when empty]`
|
||||
- `$(RuntimeOS) - win7 | osx10.10 | ubuntu.14.04 | [any other RID OS+version] | [defaults to running OS when empty]` See [RIDs](https://github.com/dotnet/runtime/tree/main/src/libraries/Microsoft.NETCore.Platforms) for more info.
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue