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.

78 lines
3.6 KiB

5 years ago
  1. <Project Sdk="Microsoft.NET.Sdk" DefaultTargets="Build">
  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. <DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
  9. <PackageAction>Assemble</PackageAction>
  10. <InnerTargets>Assemble</InnerTargets>
  11. </PropertyGroup>
  12. <PropertyGroup>
  13. <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath>
  14. <IsVerbose>false</IsVerbose>
  15. <IsVerbose Condition="'$(Configuration)' == 'Verbose' Or '$(Configuration)' == 'Verbose_Release'">true</IsVerbose>
  16. <NoVerboseConfig>$(Configuration)</NoVerboseConfig>
  17. <NoVerboseConfig Condition="'$(IsVerbose)' == 'true' And '$(Configuration)' == 'Verbose'">Debug</NoVerboseConfig>
  18. <NoVerboseConfig Condition="'$(IsVerbose)' == 'true' And '$(Configuration)' == 'Verbose_Release'">Release</NoVerboseConfig>
  19. <ProxyConfig>Release</ProxyConfig>
  20. <ProxyConfig Condition="'$(IsVerbose)' == 'true'">Verbose_Release</ProxyConfig>
  21. <ProxyPlatform>Win32</ProxyPlatform>
  22. <ProxyPlatform Condition="'$(Platform)' == 'x64'">x64</ProxyPlatform>
  23. </PropertyGroup>
  24. <ItemGroup>
  25. <ProjectReference Include="..\IPA\IPA.csproj" AdditionalProperties="TargetFramework=net461" />
  26. <ProjectReference Include="..\IPA.Injector\IPA.Injector.csproj" />
  27. <ProjectReference Include="..\IPA.Injector\IPA.Injector.csproj" />
  28. <ProjectReference Include="..\Doorstop\Proxy\Proxy.vcxproj" />
  29. </ItemGroup>
  30. <Target Name="Restore" />
  31. <Target Name="Clean">
  32. <ItemGroup>
  33. <Files Include="$(OutputPath)**\*" />
  34. </ItemGroup>
  35. <Delete Files="@(Files)" />
  36. </Target>
  37. <Target Name="Rebuild">
  38. <CallTarget Targets="Assemble" />
  39. </Target>
  40. <Target Name="Build">
  41. <CallTarget Targets="Assemble" />
  42. </Target>
  43. <Target Name="CoreCompile">
  44. <CallTarget Targets="Assemble" />
  45. </Target>
  46. <Target Name="Assemble" Returns="$(OutputPath)">
  47. <Message Text="Packing..." Importance="High" />
  48. <Message Text="Results will be put in $(OutputPath)" Importance="High" />
  49. <ItemGroup>
  50. <InputDlls Include="$(SolutionDir)IPA.Injector\bin\$(NoVerboseConfig)\$(TargetFramework)\**\*" Exclude="$(SolutionDir)IPA.Injector\bin\$(NoVerboseConfig)\$(TargetFramework)\Libraries\**\*" />
  51. <InputDlls Include="$(SolutionDir)Doorstop\Proxy\bin\$(ProxyPlatform)\$(ProxyConfig)\**\*.dll" />
  52. <InputDlls Include="$(SolutionDir)Doorstop\Proxy\bin\$(ProxyPlatform)\$(ProxyConfig)\**\*.pdb" />
  53. <InputIPAFiles Include="$(SolutionDir)IPA\bin\$(Configuration)\**\*" />
  54. </ItemGroup>
  55. <Copy SourceFiles="@(InputDlls)" DestinationFolder="$(OutputPath)IPA\%(RecursiveDir)" />
  56. <Move SourceFiles="$(OutputPath)IPA\proxy.dll" DestinationFiles="$(OutputPath)IPA\winhttp.dll" />
  57. <Move Condition="Exists('$(OutputPath)IPA\proxy.pdb')" SourceFiles="$(OutputPath)IPA\proxy.pdb" DestinationFiles="$(OutputPath)IPA\winhttp.pdb" />
  58. <Copy SourceFiles="@(InputIPAFiles)" DestinationFolder="$(OutputPath)%(RecursiveDir)" />
  59. <ItemGroup>
  60. <BadFiles Include="$(OutputPath)*.dll" />
  61. <BadFiles Include="$(OutputPath)*.pdb" Condition="'$(Configuration)'=='Release' Or '$(Configuration)'=='Verbose_Release'" />
  62. <BadFiles Include="$(OutputPath)IPA\*.pdb" Condition="'$(Configuration)'=='Release' Or '$(Configuration)'=='Verbose_Release'" />
  63. </ItemGroup>
  64. <Delete Files="@(BadFiles)" />
  65. <RemoveDir Directories="$(OutputPath)Libraries\" />
  66. </Target>
  67. </Project>