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.

80 lines
3.9 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" ReferenceOutputAssembly="false" />
  26. <ProjectReference Include="..\IPA.Injector\IPA.Injector.csproj">
  27. <SetConfiguration>Configuration=$(NoVerboseConfig)</SetConfiguration>
  28. <SetPlatform>Platform=AnyCPU</SetPlatform>
  29. </ProjectReference>
  30. <ProjectReference Include="..\IPA.Loader\IPA.Loader.csproj">
  31. <SetConfiguration>Configuration=$(NoVerboseConfig)</SetConfiguration>
  32. <SetPlatform>Platform=AnyCPU</SetPlatform>
  33. </ProjectReference>
  34. <ProjectReference Include="..\Doorstop\Proxy\Proxy.vcxproj" ReferenceOutputAssembly="false">
  35. <SetConfiguration>Configuration=$(ProxyConfig)</SetConfiguration>
  36. <SetPlatform>Platform=$(ProxyPlatform)</SetPlatform>
  37. </ProjectReference>
  38. </ItemGroup>
  39. <Target Name="Clean">
  40. <ItemGroup>
  41. <Files Include="$(OutputPath)**\*" />
  42. </ItemGroup>
  43. <Delete Files="@(Files)" />
  44. </Target>
  45. <Target Name="CoreCompile">
  46. <CallTarget Targets="Assemble" />
  47. </Target>
  48. <Target Name="Assemble" Returns="$(OutputPath)">
  49. <Message Text="Packing..." Importance="High" />
  50. <Message Text="Results will be put in $(OutputPath)" Importance="High" />
  51. <ItemGroup>
  52. <InputDlls Include="$(SolutionDir)IPA.Injector\bin\$(NoVerboseConfig)\$(TargetFramework)\**\*" Exclude="$(SolutionDir)IPA.Injector\bin\$(NoVerboseConfig)\$(TargetFramework)\Libraries\**\*" />
  53. <InputDlls Include="$(SolutionDir)Doorstop\Proxy\bin\$(ProxyPlatform)\$(ProxyConfig)\**\*.dll" />
  54. <InputDlls Include="$(SolutionDir)Doorstop\Proxy\bin\$(ProxyPlatform)\$(ProxyConfig)\**\*.pdb" />
  55. <InputIPAFiles Include="$(SolutionDir)IPA\bin\$(Configuration)\**\*" />
  56. </ItemGroup>
  57. <Copy SourceFiles="@(InputDlls)" DestinationFolder="$(OutputPath)IPA\%(RecursiveDir)" />
  58. <Move SourceFiles="$(OutputPath)IPA\proxy.dll" DestinationFiles="$(OutputPath)IPA\winhttp.dll" />
  59. <Move Condition="Exists('$(OutputPath)IPA\proxy.pdb')" SourceFiles="$(OutputPath)IPA\proxy.pdb" DestinationFiles="$(OutputPath)IPA\winhttp.pdb" />
  60. <Copy SourceFiles="@(InputIPAFiles)" DestinationFolder="$(OutputPath)%(RecursiveDir)" />
  61. <ItemGroup>
  62. <BadFiles Include="$(OutputPath)*.dll" />
  63. <BadFiles Include="$(OutputPath)*.pdb" Condition="'$(Configuration)'=='Release' Or '$(Configuration)'=='Verbose_Release'" />
  64. <BadFiles Include="$(OutputPath)IPA\*.pdb" Condition="'$(Configuration)'=='Release' Or '$(Configuration)'=='Verbose_Release'" />
  65. </ItemGroup>
  66. <Delete Files="@(BadFiles)" />
  67. <RemoveDir Directories="$(OutputPath)Libraries\" />
  68. </Target>
  69. </Project>