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.

105 lines
4.9 KiB

5 years ago
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Project DefaultTargets="Assemble" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  3. <PropertyGroup>
  4. <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
  5. <Platform Condition=" '$(Platform)' == '' ">x64-Net4</Platform>
  6. <ProjectGuid>{880A3560-82CD-4836-996B-11BEFE6B44DB}</ProjectGuid>
  7. <OutputType>Library</OutputType>
  8. <RootNamespace>BSIPA_Meta</RootNamespace>
  9. <AssemblyName>Meta Project</AssemblyName>
  10. <TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
  11. <FileAlignment>512</FileAlignment>
  12. <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
  13. <Deterministic>true</Deterministic>
  14. <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath>
  15. </PropertyGroup>
  16. <PropertyGroup Condition=" '$(Platform)' == 'x86-Net4' Or '$(Platform)' == 'x86-Net3' ">
  17. <ProxyPlatform>Win32</ProxyPlatform>
  18. </PropertyGroup>
  19. <PropertyGroup Condition=" '$(Platform)' == 'x64-Net4' Or '$(Platform)' == 'x64-Net3' ">
  20. <ProxyPlatform>x64</ProxyPlatform>
  21. </PropertyGroup>
  22. <PropertyGroup Condition=" '$(Platform)' == 'x86-Net4' Or '$(Platform)' == 'x64-Net4' ">
  23. <NetPlatform>Net4</NetPlatform>
  24. </PropertyGroup>
  25. <PropertyGroup Condition=" '$(Platform)' == 'x86-Net3' Or '$(Platform)' == 'x64-Net3' ">
  26. <NetPlatform>Net3</NetPlatform>
  27. </PropertyGroup>
  28. <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
  29. <PlatformTarget>AnyCPU</PlatformTarget>
  30. <DebugSymbols>true</DebugSymbols>
  31. <DebugType>full</DebugType>
  32. <Optimize>false</Optimize>
  33. <DefineConstants>DEBUG;TRACE</DefineConstants>
  34. <ErrorReport>prompt</ErrorReport>
  35. <WarningLevel>4</WarningLevel>
  36. <OtherConfig>Debug</OtherConfig>
  37. <ProxyConfig>Release</ProxyConfig>
  38. </PropertyGroup>
  39. <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
  40. <PlatformTarget>AnyCPU</PlatformTarget>
  41. <DebugType>pdbonly</DebugType>
  42. <Optimize>true</Optimize>
  43. <DefineConstants>TRACE</DefineConstants>
  44. <ErrorReport>prompt</ErrorReport>
  45. <WarningLevel>4</WarningLevel>
  46. <OtherConfig>Release</OtherConfig>
  47. <ProxyConfig>Release</ProxyConfig>
  48. </PropertyGroup>
  49. <PropertyGroup Condition=" '$(Configuration)' == 'Verbose' ">
  50. <PlatformTarget>AnyCPU</PlatformTarget>
  51. <DebugSymbols>true</DebugSymbols>
  52. <DebugType>full</DebugType>
  53. <Optimize>false</Optimize>
  54. <DefineConstants>DEBUG;TRACE</DefineConstants>
  55. <ErrorReport>prompt</ErrorReport>
  56. <WarningLevel>4</WarningLevel>
  57. <OtherConfig>Verbose</OtherConfig>
  58. <ProxyConfig>Verbose_Release</ProxyConfig>
  59. </PropertyGroup>
  60. <PropertyGroup Condition=" '$(Configuration)' == 'Verbose_Release' ">
  61. <PlatformTarget>AnyCPU</PlatformTarget>
  62. <DebugType>pdbonly</DebugType>
  63. <Optimize>true</Optimize>
  64. <DefineConstants>TRACE</DefineConstants>
  65. <ErrorReport>prompt</ErrorReport>
  66. <WarningLevel>4</WarningLevel>
  67. <OtherConfig>Verbose_Release</OtherConfig>
  68. <ProxyConfig>Verbose_Release</ProxyConfig>
  69. </PropertyGroup>
  70. <Target Name="Restore" />
  71. <Target Name="Clean">
  72. <ItemGroup>
  73. <Files Include="$(OutputPath)**\*" />
  74. </ItemGroup>
  75. <Delete Files="@(Files)" />
  76. </Target>
  77. <Target Name="Rebuild">
  78. <CallTarget Targets="Assemble" />
  79. </Target>
  80. <Target Name="Build">
  81. <CallTarget Targets="Assemble" />
  82. </Target>
  83. <Target Name="Assemble" Returns="$(OutputPath)">
  84. <Message Text="Packing..." Importance="High" />
  85. <Message Text="Results will be put in $(OutputPath)" Importance="High" />
  86. <ItemGroup>
  87. <InputDlls Include="$(SolutionDir)IPA.Injector\bin\$(NetPlatform)\$(OtherConfig)\**\*" Exclude="$(SolutionDir)IPA.Injector\bin\$(NetPlatform)\$(OtherConfig)\Libraries\**\*" />
  88. <InputDlls Include="$(SolutionDir)Doorstop\Proxy\bin\$(ProxyPlatform)\$(ProxyConfig)\**\*.dll" />
  89. <InputDlls Include="$(SolutionDir)Doorstop\Proxy\bin\$(ProxyPlatform)\$(ProxyConfig)\**\*.pdb" />
  90. <InputIPAFiles Include="$(SolutionDir)IPA\bin\$(OtherConfig)\**\*" />
  91. </ItemGroup>
  92. <Copy SourceFiles="@(InputDlls)" DestinationFolder="$(OutputPath)IPA\%(RecursiveDir)" />
  93. <Move SourceFiles="$(OutputPath)IPA\proxy.dll" DestinationFiles="$(OutputPath)IPA\winhttp.dll" />
  94. <Move Condition="Exists('$(OutputPath)IPA\proxy.pdb')" SourceFiles="$(OutputPath)IPA\proxy.pdb" DestinationFiles="$(OutputPath)IPA\winhttp.pdb" />
  95. <Copy SourceFiles="@(InputIPAFiles)" DestinationFolder="$(OutputPath)%(RecursiveDir)" />
  96. <ItemGroup>
  97. <BadFiles Include="$(OutputPath)*.dll" />
  98. <BadFiles Include="$(OutputPath)*.pdb" Condition="'$(Configuration)'=='Release' Or '$(Configuration)'=='Verbose_Release'" />
  99. <BadFiles Include="$(OutputPath)IPA\*.pdb" Condition="'$(Configuration)'=='Release' Or '$(Configuration)'=='Verbose_Release'" />
  100. </ItemGroup>
  101. <Delete Files="@(BadFiles)" />
  102. <RemoveDir Directories="$(OutputPath)Libraries\" />
  103. </Target>
  104. </Project>