Refactor projects so we don't use xcopy to copy build outputs around

* This makes it easier for my auto build scripts (i.e. without xcopy use
  I can run them from msysgit bash).
* pdblocate now has Profile32&Release32 vs Profile64&Release64. This was
  the easiest way to do it as it has to be compiled in 32bit to interact
  with DIA, but we want it copied to the solutions output folder (x64/...
  or Win32/...)
This commit is contained in:
baldurk
2015-01-01 11:23:53 +00:00
parent 2aaf9e1611
commit 6fde127360
5 changed files with 100 additions and 60 deletions
+4
View File
@@ -3,6 +3,10 @@ Debug/
Documentation/
Release/
Profile/
Profile32/
Profile64/
Release32/
Release64/
dist/
Resources/*.png
*.exe
+79 -30
View File
@@ -1,12 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Profile|Win32">
<Configuration>Profile</Configuration>
<ProjectConfiguration Include="Profile32|Win32">
<Configuration>Profile32</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<ProjectConfiguration Include="Profile64|Win32">
<Configuration>Profile64</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release32|Win32">
<Configuration>Release32</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release64|Win32">
<Configuration>Release64</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
@@ -16,13 +24,7 @@
<RootNamespace>pdblocate</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="Configuration">
<PropertyGroup>
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
@@ -31,24 +33,31 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="PropertySheets">
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release64|Win32'">
<LinkIncremental>false</LinkIncremental>
<IncludePath>$(VSInstallDir)\DIA SDK\include;$(IncludePath)</IncludePath>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\pdblocate\</OutDir>
<OutDir>$(SolutionDir)x64\Release\pdblocate\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release32|Win32'">
<LinkIncremental>false</LinkIncremental>
<IncludePath>$(VSInstallDir)\DIA SDK\include;$(IncludePath)</IncludePath>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\pdblocate\</OutDir>
<OutDir>$(SolutionDir)Win32\Release\pdblocate\</OutDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile64|Win32'">
<LinkIncremental>false</LinkIncremental>
<IncludePath>$(VSInstallDir)\DIA SDK\include;$(IncludePath)</IncludePath>
<OutDir>$(SolutionDir)x64\Profile\pdblocate\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile32|Win32'">
<LinkIncremental>false</LinkIncremental>
<IncludePath>$(VSInstallDir)\DIA SDK\include;$(IncludePath)</IncludePath>
<OutDir>$(SolutionDir)Win32\Profile\pdblocate\</OutDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release64|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
@@ -64,12 +73,42 @@
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<PostBuildEvent>
<Command>xcopy /Y /Q /S "$(ProjectDir)x86" "$(OutDir)x86\"
xcopy /Y /Q /S "$(ProjectDir)x64" "$(OutDir)x64\"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release32|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile64|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>Disabled</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile32|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
@@ -85,10 +124,6 @@ xcopy /Y /Q /S "$(ProjectDir)x64" "$(OutDir)x64\"</Command>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<PostBuildEvent>
<Command>xcopy /Y /Q /S "$(ProjectDir)x86" "$(OutDir)x86\"
xcopy /Y /Q /S "$(ProjectDir)x64" "$(OutDir)x64\"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="pdblocate.cpp" />
@@ -96,4 +131,18 @@ xcopy /Y /Q /S "$(ProjectDir)x64" "$(OutDir)x64\"</Command>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
<Target Name="AfterBuild" AfterTargets="Build">
<Copy SourceFiles="$(ProjectDir)x86\symsrv.dll" DestinationFolder="$(OutDir)x86">
</Copy>
<Copy SourceFiles="$(ProjectDir)x86\symsrv.yes" DestinationFolder="$(OutDir)x86">
</Copy>
<Copy SourceFiles="$(ProjectDir)x86\dbghelp.dll" DestinationFolder="$(OutDir)x86">
</Copy>
<Copy SourceFiles="$(ProjectDir)x64\symsrv.dll" DestinationFolder="$(OutDir)x64">
</Copy>
<Copy SourceFiles="$(ProjectDir)x64\symsrv.yes" DestinationFolder="$(OutDir)x64">
</Copy>
<Copy SourceFiles="$(ProjectDir)x64\dbghelp.dll" DestinationFolder="$(OutDir)x64">
</Copy>
</Target>
</Project>
+8 -8
View File
@@ -71,14 +71,14 @@ Global
{5504BAC8-287E-4083-A57F-5EE172EDDAEB}.Release|Win32.Build.0 = Release|x86
{5504BAC8-287E-4083-A57F-5EE172EDDAEB}.Release|x64.ActiveCfg = Release|x64
{5504BAC8-287E-4083-A57F-5EE172EDDAEB}.Release|x64.Build.0 = Release|x64
{6CCB39BA-AB6B-4589-B7C4-9DA879571713}.Profile|Win32.ActiveCfg = Profile|Win32
{6CCB39BA-AB6B-4589-B7C4-9DA879571713}.Profile|Win32.Build.0 = Profile|Win32
{6CCB39BA-AB6B-4589-B7C4-9DA879571713}.Profile|x64.ActiveCfg = Profile|Win32
{6CCB39BA-AB6B-4589-B7C4-9DA879571713}.Profile|x64.Build.0 = Profile|Win32
{6CCB39BA-AB6B-4589-B7C4-9DA879571713}.Release|Win32.ActiveCfg = Release|Win32
{6CCB39BA-AB6B-4589-B7C4-9DA879571713}.Release|Win32.Build.0 = Release|Win32
{6CCB39BA-AB6B-4589-B7C4-9DA879571713}.Release|x64.ActiveCfg = Release|Win32
{6CCB39BA-AB6B-4589-B7C4-9DA879571713}.Release|x64.Build.0 = Release|Win32
{6CCB39BA-AB6B-4589-B7C4-9DA879571713}.Profile|Win32.ActiveCfg = Profile32|Win32
{6CCB39BA-AB6B-4589-B7C4-9DA879571713}.Profile|Win32.Build.0 = Profile32|Win32
{6CCB39BA-AB6B-4589-B7C4-9DA879571713}.Profile|x64.ActiveCfg = Profile64|Win32
{6CCB39BA-AB6B-4589-B7C4-9DA879571713}.Profile|x64.Build.0 = Profile64|Win32
{6CCB39BA-AB6B-4589-B7C4-9DA879571713}.Release|Win32.ActiveCfg = Release32|Win32
{6CCB39BA-AB6B-4589-B7C4-9DA879571713}.Release|Win32.Build.0 = Release32|Win32
{6CCB39BA-AB6B-4589-B7C4-9DA879571713}.Release|x64.ActiveCfg = Release64|Win32
{6CCB39BA-AB6B-4589-B7C4-9DA879571713}.Release|x64.Build.0 = Release64|Win32
{C75532C4-765B-418E-B09B-46D36B2ABDB1}.Profile|Win32.ActiveCfg = Profile|Any CPU
{C75532C4-765B-418E-B09B-46D36B2ABDB1}.Profile|Win32.Build.0 = Profile|Any CPU
{C75532C4-765B-418E-B09B-46D36B2ABDB1}.Profile|x64.ActiveCfg = Profile|Any CPU
+1 -15
View File
@@ -123,10 +123,6 @@
<ModuleDefinitionFile>$(ProjectDir)os\win32\comexport.def</ModuleDefinitionFile>
<AdditionalDependencies>$(SolutionDir)\renderdoc\3rdparty\breakpad\$(Platform)\$(Configuration)\breakpad_common.lib;$(SolutionDir)\renderdoc\3rdparty\breakpad\$(Platform)\$(Configuration)\crash_generation_client.lib;$(SolutionDir)\renderdoc\3rdparty\breakpad\$(Platform)\$(Configuration)\exception_handler.lib;ws2_32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;psapi.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
@@ -152,9 +148,6 @@
<ModuleDefinitionFile>$(ProjectDir)os\win32\comexport.def</ModuleDefinitionFile>
<AdditionalDependencies>$(SolutionDir)\renderdoc\3rdparty\breakpad\$(Platform)\$(Configuration)\breakpad_common.lib;$(SolutionDir)\renderdoc\3rdparty\breakpad\$(Platform)\$(Configuration)\crash_generation_client.lib;$(SolutionDir)\renderdoc\3rdparty\breakpad\$(Platform)\$(Configuration)\exception_handler.lib;ws2_32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;psapi.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>xcopy /Y /Q /S "$(SolutionDir)\Win32\$(ConfigurationName)\pdblocate" "$(OutputPath)\pdblocate\"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">
<ClCompile>
@@ -184,10 +177,6 @@
<AdditionalDependencies>ws2_32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;psapi.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
</Link>
<PostBuildEvent>
<Command>
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile|x64'">
<ClCompile>
@@ -216,9 +205,6 @@
<AdditionalDependencies>ws2_32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;psapi.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
</Link>
<PostBuildEvent>
<Command>xcopy /Y /Q /S "$(SolutionDir)\Win32\$(ConfigurationName)\pdblocate" "$(OutputPath)\pdblocate\"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="3rdparty\jpeg-compressor\jpgd.h" />
@@ -358,7 +344,7 @@
<ClCompile Include="os\os_specific.cpp" />
<ClCompile Include="os\win32\win32_callstack.cpp" />
<ClCompile Include="os\win32\win32_hook.cpp" />
<ClCompile Include="os\win32\win32_network.cpp" />
<ClCompile Include="os\win32\win32_network.cpp" />
<ClCompile Include="os\win32\win32_process.cpp" />
<ClCompile Include="os\win32\win32_shellext.cpp" />
<ClCompile Include="os\win32\win32_stringio.cpp" />
+8 -7
View File
@@ -72,9 +72,6 @@
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
</PropertyGroup>
<PropertyGroup>
<RunPostBuildEvent>OnOutputUpdated</RunPostBuildEvent>
</PropertyGroup>
<ItemGroup>
<Reference Include="IronPython, Version=2.7.0.40, Culture=neutral, PublicKeyToken=7f709c5b713576e1, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
@@ -457,6 +454,14 @@
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<Content Include="..\ScintillaNET\SciLexer.dll">
<Link>SciLexer.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="..\ScintillaNET\SciLexer64.dll">
<Link>SciLexer64.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Controls\TreeListView\README.txt" />
<None Include="Resources\wireframe_mesh.png" />
<None Include="Resources\zoom.png" />
@@ -518,10 +523,6 @@
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PostBuildEvent>xcopy /Y /Q "$(SolutionDir)\ScintillaNET\SciLexer.dll" "$(TargetDir)" &gt; nul
xcopy /Y /Q "$(SolutionDir)\ScintillaNET\SciLexer64.dll" "$(TargetDir)" &gt; nul</PostBuildEvent>
</PropertyGroup>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">