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.

65 lines
3.0 KiB

5 years ago
  1. <Project Sdk="Microsoft.NET.Sdk">
  2. <PropertyGroup>
  3. <TargetFrameworks>net35;net461</TargetFrameworks>
  4. <Platforms>x86;x64</Platforms>
  5. <Configurations>Debug;Release;Verbose;Verbose_Release</Configurations>
  6. <RootNamespace>BSIPA_Meta</RootNamespace>
  7. <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
  8. </PropertyGroup>
  9. <PropertyGroup>
  10. <OutputPath>bin\$(Platform)\$(Configuration)\$(TargetFramework)</OutputPath>
  11. <IsVerbose>false</IsVerbose>
  12. <IsVerbose Condition="'$(Configuration)' == 'Verbose' Or '$(Configuration)' == 'Verbose_Release'">true</IsVerbose>
  13. <NoVerboseConfig>$(Configuration)</NoVerboseConfig>
  14. <NoVerboseConfig Condition="'$(IsVerbose)' == 'true' And '$(Configuration)' == 'Verbose'">Debug</NoVerboseConfig>
  15. <NoVerboseConfig Condition="'$(IsVerbose)' == 'true' And '$(Configuration)' == 'Verbose_Release'">Release</NoVerboseConfig>
  16. <ProxyConfig>Release</ProxyConfig>
  17. <ProxyConfig Condition="'$(IsVerbose)' == 'true'">Verbose_Release</ProxyConfig>
  18. <ProxyPlatform>Win32</ProxyPlatform>
  19. <ProxyPlatform Condition="'$(Platform)' == 'x64'">x64</ProxyPlatform>
  20. </PropertyGroup>
  21. <Target Name="Restore" />
  22. <Target Name="Clean">
  23. <ItemGroup>
  24. <Files Include="$(OutputPath)**\*" />
  25. </ItemGroup>
  26. <Delete Files="@(Files)" />
  27. </Target>
  28. <Target Name="Rebuild">
  29. <CallTarget Targets="Assemble" />
  30. </Target>
  31. <Target Name="Build">
  32. <CallTarget Targets="Assemble" />
  33. </Target>
  34. <Target Name="Assemble" Returns="$(OutputPath)">
  35. <Message Text="Packing..." Importance="High" />
  36. <Message Text="Results will be put in $(OutputPath)" Importance="High" />
  37. <ItemGroup>
  38. <InputDlls Include="$(SolutionDir)IPA.Injector\bin\$(NoVerboseConfig)\$(TargetFramework)\**\*"
  39. Exclude="$(SolutionDir)IPA.Injector\bin\$(NoVerboseConfig)\$(TargetFramework)\Libraries\**\*" />
  40. <InputDlls Include="$(SolutionDir)Doorstop\Proxy\bin\$(ProxyPlatform)\$(ProxyConfig)\**\*.dll" />
  41. <InputDlls Include="$(SolutionDir)Doorstop\Proxy\bin\$(ProxyPlatform)\$(ProxyConfig)\**\*.pdb" />
  42. <InputIPAFiles Include="$(SolutionDir)IPA\bin\$(Configuration)\**\*" />
  43. </ItemGroup>
  44. <Copy SourceFiles="@(InputDlls)" DestinationFolder="$(OutputPath)IPA\%(RecursiveDir)" />
  45. <Move SourceFiles="$(OutputPath)IPA\proxy.dll" DestinationFiles="$(OutputPath)IPA\winhttp.dll" />
  46. <Move Condition="Exists('$(OutputPath)IPA\proxy.pdb')" SourceFiles="$(OutputPath)IPA\proxy.pdb" DestinationFiles="$(OutputPath)IPA\winhttp.pdb" />
  47. <Copy SourceFiles="@(InputIPAFiles)" DestinationFolder="$(OutputPath)%(RecursiveDir)" />
  48. <ItemGroup>
  49. <BadFiles Include="$(OutputPath)*.dll" />
  50. <BadFiles Include="$(OutputPath)*.pdb" Condition="'$(Configuration)'=='Release' Or '$(Configuration)'=='Verbose_Release'" />
  51. <BadFiles Include="$(OutputPath)IPA\*.pdb" Condition="'$(Configuration)'=='Release' Or '$(Configuration)'=='Verbose_Release'" />
  52. </ItemGroup>
  53. <Delete Files="@(BadFiles)" />
  54. <RemoveDir Directories="$(OutputPath)Libraries\" />
  55. </Target>
  56. </Project>