<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Choose>
    <When Condition="$(NCrunchOriginalSolutionDir) != '' And $(NCrunchOriginalSolutionDir) != '*Undefined*'">
      <PropertyGroup>
        <FodySolutionDir>$(NCrunchOriginalSolutionDir)</FodySolutionDir>
      </PropertyGroup>
    </When>
    <When Condition="$(SolutionDir) != '' And $(SolutionDir) != '*Undefined*'">
      <PropertyGroup>
        <FodySolutionDir>$(SolutionDir)</FodySolutionDir>
      </PropertyGroup>
    </When>
    <When Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">
      <PropertyGroup>
        <FodySolutionDir>$(MSBuildProjectDirectory)\..\</FodySolutionDir>
      </PropertyGroup>
    </When>
  </Choose>
  <Choose>
    <When Condition="$(KeyOriginatorFile) != '' And $(KeyOriginatorFile) != '*Undefined*'">
      <PropertyGroup>
        <FodyKeyFilePath>$(KeyOriginatorFile)</FodyKeyFilePath>
      </PropertyGroup>
    </When>
    <When Condition="$(AssemblyOriginatorKeyFile) != '' And $(AssemblyOriginatorKeyFile) != '*Undefined*'">
      <PropertyGroup>
        <FodyKeyFilePath>$(AssemblyOriginatorKeyFile)</FodyKeyFilePath>
      </PropertyGroup>
    </When>
    <Otherwise >
      <PropertyGroup>
        <FodyKeyFilePath></FodyKeyFilePath>
      </PropertyGroup>
    </Otherwise>
  </Choose>
  <PropertyGroup>
    <IntermediateDir>$(ProjectDir)$(IntermediateOutputPath)</IntermediateDir>
    <FodySignAssembly Condition="$(FodySignAssembly) == '' Or $(FodySignAssembly) == '*Undefined*'">$(SignAssembly)</FodySignAssembly>
    <FodyPath Condition="$(FodyPath) == '' Or $(FodyPath) == '*Undefined*'">$(MSBuildThisFileDirectory)</FodyPath>
  </PropertyGroup>
  <UsingTask
      TaskName="Fody.WeavingTask"
      AssemblyFile="$(FodyPath)\Fody.dll" />
  <Target
      AfterTargets="AfterCompile"
      Name="WinFodyTarget"
      Condition=" '$(OS)' == 'Windows_NT'">

    <Fody.WeavingTask
          AssemblyPath="@(IntermediateAssembly)"
          IntermediateDir="$(IntermediateDir)"
          KeyFilePath="$(FodyKeyFilePath)"
          ProjectDirectory="$(ProjectDir)"
          SolutionDir="$(FodySolutionDir)"
          References="@(ReferencePath)"
          SignAssembly="$(FodySignAssembly)"
          ReferenceCopyLocalPaths="@(ReferenceCopyLocalPaths)"
          DefineConstants="$(DefineConstants)"
      />
  </Target>

  <Target
      AfterTargets="AfterBuild"
      Name="NonWinFodyTarget"
      Condition=" '$(OS)' != 'Windows_NT'">
    <Fody.WeavingTask
          AssemblyPath="$(TargetPath)"
          IntermediateDir="$(IntermediateDir)"
          KeyFilePath="$(FodyKeyFilePath)"
          ProjectDirectory="$(ProjectDir)"
          SolutionDir="$(FodySolutionDir)"
          References="@(ReferencePath)"
          SignAssembly="$(FodySignAssembly)"
          ReferenceCopyLocalPaths="$(ReferenceCopyLocalPaths)"
          DefineConstants="$(DefineConstants)"
      />
  </Target>


  <!--Support for ncrunch-->
  <ItemGroup>
    <None Include="$(FodyPath)\*.*" />
  </ItemGroup>

</Project>