Ignore:
Timestamp:
14/04/2011 07:17:06 (14 months ago)
Author:
chris
Message:

Switch from solution dependencies to project-to-project dependencies.

Convert pre-build event to a custom build step.

Store intermediates for each project in their own subdirectory for tidyness,
to avoid overwriting, and to fix parallel builds.

Use automatic library dependencies from required projects.

These changes eliminate unnecessary rebuilds in MSVC 2010.

Location:
box/trunk/infrastructure/msvc/2010
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • box/trunk/infrastructure/msvc/2010/bbackupctl.vcxproj

    r2880 r2908  
    4141    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> 
    4242    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)..\..\..\$(Configuration)\</OutDir> 
    43     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)..\..\..\$(Configuration)\</IntDir> 
     43    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)..\..\..\$(Configuration)\$(ProjectName)\</IntDir> 
    4444    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> 
    4545    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\Release\</OutDir> 
  • box/trunk/infrastructure/msvc/2010/bbackupd.vcxproj

    r2900 r2908  
    4141  <PropertyGroup> 
    4242    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> 
    43     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\$(Configuration)\</OutDir> 
    44     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\$(Configuration)\</IntDir> 
     43    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)..\..\..\$(Configuration)\</OutDir> 
     44    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)..\..\..\$(Configuration)\$(ProjectName)\</IntDir> 
    4545    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> 
    4646    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\Release\</OutDir> 
     
    6262    </ClCompile> 
    6363    <Link> 
    64       <AdditionalDependencies>VssApi.lib;Ws2_32.lib;Advapi32.lib;User32.lib;$(ProjectDir)..\..\..\..\zlib\lib\zdll.lib;$(ProjectDir)..\..\..\..\openssl\lib\libeay32.lib;$(ProjectDir)..\..\..\..\openssl\lib\ssleay32.lib;$(ProjectDir)..\..\..\$(Configuration)\common.lib;$(ProjectDir)..\..\..\$(Configuration)\qdbm.lib;$(ProjectDir)..\..\..\..\pcre\build\vc2008\debug\pcreposix78.lib;$(ProjectDir)..\..\..\..\pcre\build\vc2008\debug\pcre78.lib;%(AdditionalDependencies)</AdditionalDependencies> 
     64      <AdditionalDependencies>VssApi.lib;Ws2_32.lib;Advapi32.lib;User32.lib;$(ProjectDir)..\..\..\..\zlib\lib\zdll.lib;$(ProjectDir)..\..\..\..\openssl\lib\libeay32.lib;$(ProjectDir)..\..\..\..\openssl\lib\ssleay32.lib;$(ProjectDir)..\..\..\..\pcre\build\vc2008\debug\pcreposix78.lib;$(ProjectDir)..\..\..\..\pcre\build\vc2008\debug\pcre78.lib;%(AdditionalDependencies)</AdditionalDependencies> 
    6565      <OutputFile>$(OutDir)bbackupd.exe</OutputFile> 
    6666      <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries> 
     
    122122      <Project>{a089cee6-ebf0-4232-a0c0-74850a8127a6}</Project> 
    123123      <ReferenceOutputAssembly>false</ReferenceOutputAssembly> 
     124      <Private>true</Private> 
     125      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies> 
     126      <LinkLibraryDependencies>true</LinkLibraryDependencies> 
     127      <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs> 
     128    </ProjectReference> 
     129    <ProjectReference Include="qdbm.vcxproj"> 
     130      <Project>{72af22a7-b339-4fdf-b6ae-ca6522d4bb8d}</Project> 
     131      <Private>true</Private> 
     132      <ReferenceOutputAssembly>false</ReferenceOutputAssembly> 
     133      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies> 
     134      <LinkLibraryDependencies>true</LinkLibraryDependencies> 
     135      <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs> 
    124136    </ProjectReference> 
    125137  </ItemGroup> 
  • box/trunk/infrastructure/msvc/2010/bbstoreaccounts.vcxproj

    r2893 r2908  
    3838  <PropertyGroup Label="UserMacros" /> 
    3939  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> 
    40     <OutDir>..\..\..\$(Configuration)\</OutDir> 
     40    <OutDir>$(ProjectDir)..\..\..\$(Configuration)\</OutDir> 
    4141  </PropertyGroup> 
    4242  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> 
    43     <IntDir>..\..\..\$(Configuration)\</IntDir> 
     43    <IntDir>$(ProjectDir)..\..\..\$(Configuration)\$(ProjectName)\</IntDir> 
    4444  </PropertyGroup> 
    4545  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> 
     
    5353    <Link> 
    5454      <GenerateDebugInformation>true</GenerateDebugInformation> 
    55       <AdditionalDependencies>Ws2_32.lib;Advapi32.lib;User32.lib;$(ProjectDir)..\..\..\..\zlib\lib\zdll.lib;$(ProjectDir)..\..\..\..\openssl\lib\libeay32.lib;$(ProjectDir)..\..\..\..\openssl\lib\ssleay32.lib;$(ProjectDir)..\..\..\$(Configuration)\libbackupstore.lib;$(ProjectDir)..\..\..\$(Configuration)\common.lib;$(ProjectDir)..\..\..\..\pcre\build\vc2008\debug\pcreposix78.lib;$(ProjectDir)..\..\..\..\pcre\build\vc2008\debug\pcre78.lib;%(AdditionalDependencies)</AdditionalDependencies> 
     55      <AdditionalDependencies>Ws2_32.lib;Advapi32.lib;User32.lib;$(ProjectDir)..\..\..\..\zlib\lib\zdll.lib;$(ProjectDir)..\..\..\..\openssl\lib\libeay32.lib;$(ProjectDir)..\..\..\..\openssl\lib\ssleay32.lib;$(ProjectDir)..\..\..\..\pcre\build\vc2008\debug\pcreposix78.lib;$(ProjectDir)..\..\..\..\pcre\build\vc2008\debug\pcre78.lib;%(AdditionalDependencies)</AdditionalDependencies> 
    5656    </Link> 
    5757  </ItemDefinitionGroup> 
     
    7272    <ClCompile Include="..\..\..\bin\bbstoreaccounts\bbstoreaccounts.cpp" /> 
    7373  </ItemGroup> 
     74  <ItemGroup> 
     75    <ProjectReference Include="common.vcxproj"> 
     76      <Project>{a089cee6-ebf0-4232-a0c0-74850a8127a6}</Project> 
     77    </ProjectReference> 
     78    <ProjectReference Include="libbackupstore.vcxproj"> 
     79      <Project>{97d89aef-2be4-4e34-8703-03ba67bf4494}</Project> 
     80    </ProjectReference> 
     81  </ItemGroup> 
    7482  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 
    7583  <ImportGroup Label="ExtensionTargets"> 
  • box/trunk/infrastructure/msvc/2010/bbstored.vcxproj

    r2893 r2908  
    3838  <PropertyGroup Label="UserMacros" /> 
    3939  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> 
    40     <OutDir>..\..\..\$(Configuration)\</OutDir> 
     40    <OutDir>$(ProjectDir)..\..\..\$(Configuration)\</OutDir> 
    4141  </PropertyGroup> 
    4242  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> 
    43     <IntDir>..\..\..\$(Configuration)\</IntDir> 
     43    <IntDir>$(ProjectDir)..\..\..\$(Configuration)\$(ProjectName)\</IntDir> 
    4444  </PropertyGroup> 
    4545  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> 
     
    8585    <ClInclude Include="..\..\..\bin\bbstored\HousekeepStoreAccount.h" /> 
    8686  </ItemGroup> 
     87  <ItemGroup> 
     88    <ProjectReference Include="common.vcxproj"> 
     89      <Project>{a089cee6-ebf0-4232-a0c0-74850a8127a6}</Project> 
     90    </ProjectReference> 
     91    <ProjectReference Include="libbackupstore.vcxproj"> 
     92      <Project>{97d89aef-2be4-4e34-8703-03ba67bf4494}</Project> 
     93    </ProjectReference> 
     94  </ItemGroup> 
    8795  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 
    8896  <ImportGroup Label="ExtensionTargets"> 
  • box/trunk/infrastructure/msvc/2010/boxbackup.sln

    r2893 r2908  
    1717EndProject 
    1818Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bbstored", "bbstored.vcxproj", "{D8404314-73DD-4270-8205-BE677F8FDAC7}" 
    19         ProjectSection(ProjectDependencies) = postProject 
    20                 {A089CEE6-EBF0-4232-A0C0-74850A8127A6} = {A089CEE6-EBF0-4232-A0C0-74850A8127A6} 
    21                 {97D89AEF-2BE4-4E34-8703-03BA67BF4494} = {97D89AEF-2BE4-4E34-8703-03BA67BF4494} 
    22         EndProjectSection 
    2319EndProject 
    2420Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbackupstore", "libbackupstore.vcxproj", "{97D89AEF-2BE4-4E34-8703-03BA67BF4494}" 
    2521EndProject 
    2622Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bbstoreaccounts", "bbstoreaccounts.vcxproj", "{C8A1509C-F91B-4140-BD51-B87FF24FB95F}" 
    27         ProjectSection(ProjectDependencies) = postProject 
    28                 {A089CEE6-EBF0-4232-A0C0-74850A8127A6} = {A089CEE6-EBF0-4232-A0C0-74850A8127A6} 
    29                 {97D89AEF-2BE4-4E34-8703-03BA67BF4494} = {97D89AEF-2BE4-4E34-8703-03BA67BF4494} 
    30         EndProjectSection 
    3123EndProject 
    3224Global 
  • box/trunk/infrastructure/msvc/2010/boxquery.vcxproj

    r2881 r2908  
    4242    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> 
    4343    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)..\..\..\$(Configuration)\</OutDir> 
    44     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)..\..\..\$(Configuration)\</IntDir> 
     44    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)..\..\..\$(Configuration)\$(ProjectName)\</IntDir> 
    4545    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> 
    4646    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\Release\</OutDir> 
  • box/trunk/infrastructure/msvc/2010/common.vcxproj

    r2893 r2908  
    4141    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> 
    4242    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)..\..\..\$(Configuration)\</OutDir> 
    43     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)..\..\..\$(Configuration)\</IntDir> 
     43    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)..\..\..\$(Configuration)\$(ProjectName)\</IntDir> 
    4444    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\Release\</OutDir> 
    4545    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\Release\</IntDir> 
    4646    <IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IncludePath)</IncludePath> 
     47    <CustomBuildBeforeTargets Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Compile</CustomBuildBeforeTargets> 
    4748  </PropertyGroup> 
    4849  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> 
    49     <PreBuildEvent> 
    50       <Message>Determining Version Number</Message> 
    51       <Command>perl $(ProjectDir)..\getversion.pl</Command> 
    52     </PreBuildEvent> 
     50    <PreBuildEvent /> 
    5351    <ClCompile> 
    5452      <Optimization>Disabled</Optimization> 
     
    6765      <OutputFile>$(OutDir)common.lib</OutputFile> 
    6866    </Lib> 
     67    <CustomBuildStep> 
     68      <Command>perl $(ProjectDir)..\getversion.pl</Command> 
     69    </CustomBuildStep> 
     70    <CustomBuildStep> 
     71      <Message>Determining Version Number</Message> 
     72    </CustomBuildStep> 
     73    <CustomBuildStep> 
     74      <Outputs>$(ProjectDir)..\..\..\lib\common\BoxVersion.h;%(Outputs)</Outputs> 
     75    </CustomBuildStep> 
    6976  </ItemDefinitionGroup> 
    7077  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> 
  • box/trunk/infrastructure/msvc/2010/libbackupstore.vcxproj

    r2893 r2908  
    4242  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> 
    4343    <TargetExt>.lib</TargetExt> 
    44     <IntDir>$(ProjectDir)..\..\..\$(Configuration)\</IntDir> 
     44    <IntDir>$(ProjectDir)..\..\..\$(Configuration)\$(ProjectName)\</IntDir> 
    4545  </PropertyGroup> 
    4646  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> 
  • box/trunk/infrastructure/msvc/2010/qdbm.vcxproj

    r2880 r2908  
    4040    <TargetExt>.lib</TargetExt> 
    4141    <OutDir>$(ProjectDir)..\..\..\$(Configuration)\</OutDir> 
    42     <IntDir>$(ProjectDir)..\..\..\$(Configuration)\</IntDir> 
     42    <IntDir>$(ProjectDir)..\..\..\$(Configuration)\$(ProjectName)\</IntDir> 
    4343  </PropertyGroup> 
    4444  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> 
  • box/trunk/infrastructure/msvc/2010/win32test.vcxproj

    r2880 r2908  
    4141    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> 
    4242    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)..\..\..\$(Configuration)\</OutDir> 
    43     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)..\..\..\$(Configuration)\</IntDir> 
     43    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)..\..\..\$(Configuration)\$(ProjectName)\</IntDir> 
    4444    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> 
    4545    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\Release\</OutDir> 
Note: See TracChangeset for help on using the changeset viewer.