<Project Sdk="Microsoft.NET.Sdk">
|
<PropertyGroup>
|
<OutputType>Exe</OutputType>
|
<AssemblyName>tap</AssemblyName>
|
<RunPostBuildEvent>OnOutputUpdated</RunPostBuildEvent>
|
<ApplicationIcon>../Installer/Assets/opentap.ico</ApplicationIcon>
|
<TargetFramework>$(OpenTapAppTargetFramework)</TargetFramework>
|
<GenerateRuntimeConfigurationFiles>false</GenerateRuntimeConfigurationFiles>
|
<!-- .net9 introduces CET compatibility by default. This adds hardware stack protection.
|
Howver, this causes issues with some plugins using native code.
|
Hence we disable it for now-->
|
<CETCompat>false</CETCompat>
|
</PropertyGroup>
|
|
<PropertyGroup>
|
<GenerateAssemblyInfo>true</GenerateAssemblyInfo>
|
<AssemblyTitle>tap</AssemblyTitle>
|
</PropertyGroup>
|
|
<!-- Automatic assembly versioning in pipeline-->
|
<PropertyGroup Condition="'$(ShortVersion)' != ''">
|
<Version>$(ShortVersion)</Version>
|
<AssemblyVersion>$(ShortVersion)</AssemblyVersion>
|
<InformationalVersion>$(GitVersion)</InformationalVersion>
|
<FileVersion>$(ShortVersion).0</FileVersion>
|
</PropertyGroup>
|
|
<!-- Automatic assembly versioning in pipeline-->
|
<PropertyGroup Condition="'$(ShortVersion)' == ''">
|
<Version>9.31.0</Version>
|
<AssemblyVersion>9.31.0</AssemblyVersion>
|
<InformationalVersion>9.31.0-alpha+developerBuild</InformationalVersion>
|
<FileVersion>9.31.0.0</FileVersion>
|
</PropertyGroup>
|
|
<ItemGroup>
|
<Content Include="..\LinuxInstall\tap.sh">
|
<Link>tap.sh</Link>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
</Content>
|
</ItemGroup>
|
|
<ItemGroup Condition="'$(OS)'=='Windows_NT'">
|
<Content Include="..\Shared\tap.runtimeconfig.WindowsDesktop.json">
|
<Link>tap.runtimeconfig.json</Link>
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
</Content>
|
</ItemGroup>
|
|
<ItemGroup Condition="'$(OS)'!='Windows_NT'">
|
<Content Include="..\Shared\tap.runtimeconfig.json">
|
<Link>tap.runtimeconfig.json</Link>
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
</Content>
|
</ItemGroup>
|
|
<ItemGroup>
|
<ProjectReference Include="..\Cli\Tap.Cli.csproj" />
|
<ProjectReference Include="..\Package\Tap.Package.csproj" />
|
<ProjectReference Include="..\Engine\Tap.Engine.csproj" />
|
<ProjectReference Include="..\BasicSteps\Tap.Plugins.BasicSteps.csproj" />
|
<ProjectReference Include="..\Tap.Upgrader\Tap.Upgrader.csproj" />
|
</ItemGroup>
|
|
<PropertyGroup>
|
<!--Detect platform-->
|
<PlatformEnv Condition="$([MSBuild]::IsOSPlatform('OSX'))">MacOS</PlatformEnv>
|
<PlatformEnv Condition="$([MSBuild]::IsOSPlatform('Linux'))">Linux</PlatformEnv>
|
<PlatformEnv Condition="$([MSBuild]::IsOSPlatform('Windows'))">Windows</PlatformEnv>
|
<!-- IsOsPlatform may not always be available on Windows -->
|
<PlatformEnv Condition="'$(OS)' == 'Windows_NT'">Windows</PlatformEnv>
|
|
<!--Detect architecture -->
|
<ArchEnv>$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)</ArchEnv>
|
</PropertyGroup>
|
|
<!-- Install OpenTAP as a package - this is necessary for most of the package cli actions to function normally. -->
|
<!-- CopyFilesToOutputDirectory is required for libgit native DLLs -->
|
<Target Name="InstallOpenTapAsPackage" AfterTargets="CopyFilesToOutputDirectory">
|
<Exec Command="$(OutDir)tap package create ../../package.xml -o $(OutDir)OpenTap.Debug.TapPackage --install" EnvironmentVariables="Debug=true;Sign=false;Platform=$(PlatformEnv);Architecture=$(ArchEnv.ToLower())" WorkingDirectory="$(OutDir)" />
|
</Target>
|
</Project>
|