Tools and libraries to glue C/C++ APIs to high-level languages
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

30 lines
1.2 KiB

<Project>
<PropertyGroup>
<GeneratorOutput>$(BaseIntermediateOutputPath)$(TestName).Bindings.timestamp</GeneratorOutput>
<RunPostBuildEvent>OnOutputUpdated</RunPostBuildEvent>
<PostBuildEvent>$(DotNetCmd) "$(OutputPath)$(TestGeneratorName).$(GeneratorFileExtension)"</PostBuildEvent>
</PropertyGroup>
<ItemGroup>
<Compile Include="$(TestName).Gen.cs" />
<Compile Include="$(SrcDir)Generator.Tests\GeneratorTest.cs" Visible="false" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="$(NativeProjectsDir)$(TestName).Native.vcxproj" ReferenceOutputAssembly="false" Condition="$(IsWindows)" />
<ProjectReference Include="$(SrcDir)Generator\CppSharp.Generator.csproj" />
</ItemGroup>
<ItemGroup>
<GeneratorInputs Include="*.h" />
<GeneratorInputs Include="$(TestName).Gen.cs" />
<UpToDateCheckInput Include="@(GeneratorInputs)" Set="Bindings" />
<UpToDateCheckBuilt Include="$(GeneratorOutput)" Set="Bindings" />
</ItemGroup>
<Target Name="UpdateBindingsTimestamp" AfterTargets="PostBuildEvent">
<Touch Files="$(GeneratorOutput)" AlwaysCreate="true">
<Output TaskParameter="TouchedFiles" ItemName="FileWrites" />
</Touch>
</Target>
</Project>