Files
nucleic-windows/props/Directory.Build.props
T

28 lines
1.6 KiB
XML
Raw Normal View History

2026-07-27 22:02:34 -07:00
<Project>
<!-- Shared properties for every project under windows/ (docs/WINDOWS_PORT.md §10). -->
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<LangVersion>latest</LangVersion>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<!-- The broker and app never need culture-specific formatting; invariant mode also lets
the exact same binaries run in stripped CI containers without libicu. -->
<InvariantGlobalization>true</InvariantGlobalization>
</PropertyGroup>
<!-- Build channel, mirroring Package.swift's NUCLEIC_CHANNEL scheme: a compile define
(NUCLEIC_DEV/CANARY/BETA/RC/STABLE) the C# side can key identity/banner logic off.
Defaults to dev, exactly like the Swift manifest. -->
<PropertyGroup>
<NucleicChannel Condition="'$(NucleicChannel)' == ''">$(NUCLEIC_CHANNEL)</NucleicChannel>
<NucleicChannel Condition="'$(NucleicChannel)' == ''">dev</NucleicChannel>
</PropertyGroup>
<PropertyGroup>
<DefineConstants Condition="'$(NucleicChannel)' == 'stable'">$(DefineConstants);NUCLEIC_STABLE</DefineConstants>
<DefineConstants Condition="'$(NucleicChannel)' == 'rc'">$(DefineConstants);NUCLEIC_RC</DefineConstants>
<DefineConstants Condition="'$(NucleicChannel)' == 'beta'">$(DefineConstants);NUCLEIC_BETA</DefineConstants>
<DefineConstants Condition="'$(NucleicChannel)' == 'canary'">$(DefineConstants);NUCLEIC_CANARY</DefineConstants>
<DefineConstants Condition="'$(NucleicChannel)' == 'dev'">$(DefineConstants);NUCLEIC_DEV</DefineConstants>
</PropertyGroup>
</Project>