<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(SolutionDir)versions.target" />
  <PropertyGroup Condition="'$(Release)' != 'true' ">
    <PreReleaseDecoration>-PRERELEASE</PreReleaseDecoration>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Release)' == 'true' ">
    <PreReleaseDecoration>
    </PreReleaseDecoration>
    <PreprocessorDefinitions>FDB_CLEAN_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  </PropertyGroup>
  <ItemGroup Label="ProjectConfigurations">
    <ProjectConfiguration Include="Debug|X64">
      <Configuration>Debug</Configuration>
      <Platform>X64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|X64">
      <Configuration>Release</Configuration>
      <Platform>X64</Platform>
    </ProjectConfiguration>
  </ItemGroup>
  <ItemGroup>
    <ActorCompiler Include="ClusterController.actor.cpp" />
    <ActorCompiler Include="DataDistribution.actor.cpp" />
    <ActorCompiler Include="DataDistributionQueue.actor.cpp" />
    <ActorCompiler Include="DataDistributionTracker.actor.cpp" />
    <ActorCompiler Include="masterserver.actor.cpp" />
    <ActorCompiler Include="MoveKeys.actor.cpp" />
    <ActorCompiler Include="fdbserver.actor.cpp" />
    <ActorCompiler Include="pubsub.actor.cpp" />
    <ActorCompiler Include="storageserver.actor.cpp" />
    <ActorCompiler Include="TLogServer.actor.cpp" />
    <ActorCompiler Include="worker.actor.cpp" />
  </ItemGroup>
  <ItemGroup>
    <ActorCompiler Include="VersionedBTree.actor.cpp" />
    <ActorCompiler Include="Coordination.actor.cpp" />
    <ActorCompiler Include="CoordinatedState.actor.cpp" />
    <ActorCompiler Include="CoroFlow.actor.cpp" />
    <ActorCompiler Include="MasterProxyServer.actor.cpp" />
    <ActorCompiler Include="KeyValueStoreSQLite.actor.cpp" />
    <ActorCompiler Include="LeaderElection.actor.cpp" />
    <ActorCompiler Include="Ratekeeper.actor.cpp" />
    <ActorCompiler Include="DiskQueue.actor.cpp" />
    <ActorCompiler Include="KeyValueStoreMemory.actor.cpp" />
    <ActorCompiler Include="SimulatedCluster.actor.cpp" />
    <ActorCompiler Include="KeyValueStoreCompressTestData.actor.cpp" />
    <ActorCompiler Include="IndirectShadowPager.actor.cpp" />
    <ClCompile Include="Knobs.cpp" />
    <ActorCompiler Include="QuietDatabase.actor.cpp" />
    <ActorCompiler Include="networktest.actor.cpp" />
    <ActorCompiler Include="workloads\Unreadable.actor.cpp" />
    <ActorCompiler Include="workloads\SaveAndKill.actor.cpp" />
    <ActorCompiler Include="Resolver.actor.cpp" />
    <ActorCompiler Include="Restore.actor.cpp" />
    <ActorCompiler Include="LogSystemDiskQueueAdapter.actor.cpp" />
    <ActorCompiler Include="LogSystemPeekCursor.actor.cpp" />
    <ActorCompiler Include="MemoryPager.actor.cpp" />
    <ActorCompiler Include="LogRouter.actor.cpp" />
    <ActorCompiler Include="OldTLogServer.actor.cpp" />
    <ClCompile Include="LatencyBandConfig.cpp" />
    <ClCompile Include="SkipList.cpp" />
    <ActorCompiler Include="WaitFailure.actor.cpp" />
    <ActorCompiler Include="tester.actor.cpp" />
  </ItemGroup>
  <ItemGroup>
    <ActorCompiler Include="workloads\Cycle.actor.cpp" />
    <ActorCompiler Include="workloads\SlowTaskWorkload.actor.cpp" />
    <ActorCompiler Include="workloads\PubSubMultiples.actor.cpp" />
    <ActorCompiler Include="workloads\RandomClogging.actor.cpp" />
    <ActorCompiler Include="workloads\Inventory.actor.cpp" />
    <ActorCompiler Include="workloads\BulkLoad.actor.cpp" />
    <ActorCompiler Include="workloads\MachineAttrition.actor.cpp" />
    <ActorCompiler Include="workloads\KillRegion.actor.cpp" />
    <ActorCompiler Include="workloads\ReadWrite.actor.cpp" />
    <ClCompile Include="sqlite\btree.c">
      <ExcludedFromBuild>true</ExcludedFromBuild>
    </ClCompile>
    <ClCompile Include="sqlite\sqlite3.amalgamation.c" />
    <ActorCompiler Include="Status.actor.cpp" />
    <ActorCompiler Include="TagPartitionedLogSystem.actor.cpp" />
    <ActorCompiler Include="workloads\DDBalance.actor.cpp" />
    <ActorCompiler Include="workloads\FileSystem.actor.cpp" />
    <ActorCompiler Include="workloads\ChangeConfig.actor.cpp" />
    <ClCompile Include="VFSAsync.cpp" />
    <ActorCompiler Include="workloads\ConflictRange.actor.cpp" />
    <ActorCompiler Include="workloads\ApiWorkload.actor.cpp" />
    <ActorCompiler Include="workloads\ApiCorrectness.actor.cpp" />
    <ClCompile Include="workloads\AsyncFile.cpp" />
    <ActorCompiler Include="workloads\AsyncFileCorrectness.actor.cpp" />
    <ActorCompiler Include="workloads\AsyncFileRead.actor.cpp" />
    <ActorCompiler Include="workloads\AsyncFileWrite.actor.cpp" />
    <ActorCompiler Include="workloads\BackgroundSelectors.actor.cpp" />
    <ActorCompiler Include="workloads\ConsistencyCheck.actor.cpp" />
    <ActorCompiler Include="workloads\CpuProfiler.actor.cpp" />
    <ActorCompiler Include="workloads\DDMetrics.actor.cpp" />
    <ActorCompiler Include="workloads\ConfigureDatabase.actor.cpp" />
    <ActorCompiler Include="workloads\CommitBugCheck.actor.cpp" />
    <ActorCompiler Include="workloads\FastTriggeredWatches.actor.cpp" />
    <ActorCompiler Include="workloads\DiskDurabilityTest.actor.cpp" />
    <ActorCompiler Include="workloads\DummyWorkload.actor.cpp" />
    <ActorCompiler Include="workloads\BackupCorrectness.actor.cpp" />
    <ActorCompiler Include="workloads\AtomicOps.actor.cpp" />
    <ActorCompiler Include="workloads\AtomicOpsApiCorrectness.actor.cpp" />
    <ActorCompiler Include="workloads\ClientTransactionProfileCorrectness.actor.cpp" />
    <ActorCompiler Include="workloads\BackupToDBAbort.actor.cpp" />
    <ActorCompiler Include="workloads\BackupToDBCorrectness.actor.cpp" />
    <ActorCompiler Include="workloads\BackupToDBUpgrade.actor.cpp" />
    <ActorCompiler Include="workloads\AtomicSwitchover.actor.cpp" />
    <ActorCompiler Include="workloads\AtomicRestore.actor.cpp" />
    <ClCompile Include="workloads\Fuzz.cpp" />
    <ActorCompiler Include="workloads\Sideband.actor.cpp" />
    <ActorCompiler Include="workloads\Storefront.actor.cpp" />
    <ActorCompiler Include="workloads\UnitPerf.actor.cpp" />
    <ActorCompiler Include="workloads\RandomSelector.actor.cpp" />
    <ActorCompiler Include="workloads\SelectorCorrectness.actor.cpp" />
    <ActorCompiler Include="workloads\KVStoreTest.actor.cpp" />
    <ActorCompiler Include="workloads\StreamingRead.actor.cpp" />
    <ActorCompiler Include="workloads\Throughput.actor.cpp" />
    <ActorCompiler Include="workloads\WriteBandwidth.actor.cpp" />
    <ActorCompiler Include="workloads\QueuePush.actor.cpp" />
    <ActorCompiler Include="workloads\Rollback.actor.cpp" />
    <ActorCompiler Include="workloads\LogMetrics.actor.cpp" />
    <ActorCompiler Include="workloads\Performance.actor.cpp" />
    <ActorCompiler Include="workloads\Ping.actor.cpp" />
    <ActorCompiler Include="workloads\RandomMoveKeys.actor.cpp" />
    <ActorCompiler Include="workloads\TargetedKill.actor.cpp" />
    <ActorCompiler Include="workloads\TimeKeeperCorrectness.actor.cpp" />
    <ActorCompiler Include="workloads\WriteDuringRead.actor.cpp" />
    <ActorCompiler Include="workloads\Watches.actor.cpp" />
    <ActorCompiler Include="workloads\ThreadSafety.actor.cpp" />
    <ActorCompiler Include="workloads\RemoveServersSafely.actor.cpp" />
    <ActorCompiler Include="workloads\Increment.actor.cpp" />
    <ActorCompiler Include="workloads\FuzzApiCorrectness.actor.cpp" />
    <ActorCompiler Include="workloads\LockDatabase.actor.cpp" />
    <ActorCompiler Include="workloads\LowLatency.actor.cpp" />
    <ClCompile Include="workloads\MemoryKeyValueStore.cpp" />
    <ActorCompiler Include="workloads\RyowCorrectness.actor.cpp" />
    <ActorCompiler Include="workloads\IndexScan.actor.cpp" />
    <ActorCompiler Include="workloads\WatchAndWait.actor.cpp" />
    <ActorCompiler Include="workloads\MetricLogging.actor.cpp" />
    <ActorCompiler Include="workloads\RYWPerformance.actor.cpp" />
    <ActorCompiler Include="workloads\RYWDisable.actor.cpp" />
    <ActorCompiler Include="workloads\UnitTests.actor.cpp" />
    <ActorCompiler Include="workloads\WorkerErrors.actor.cpp" />
    <ActorCompiler Include="workloads\MemoryLifetime.actor.cpp" />
    <ActorCompiler Include="workloads\TaskBucketCorrectness.actor.cpp" />
    <ActorCompiler Include="workloads\StatusWorkload.actor.cpp" />
    <ActorCompiler Include="workloads\VersionStamp.actor.cpp" />
    <ActorCompiler Include="workloads\Serializability.actor.cpp" />
    <ActorCompiler Include="workloads\DiskDurability.actor.cpp" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="ApplyMetadataMutation.h" />
    <ClInclude Include="ClusterRecruitmentInterface.h" />
    <ClInclude Include="ConflictSet.h" />
    <ClInclude Include="CoordinatedState.h" />
    <ClInclude Include="CoordinationInterface.h" />
    <ClInclude Include="CoroFlow.h" />
    <ClInclude Include="DataDistribution.h" />
    <ClInclude Include="DataDistributorInterface.h" />
    <ClInclude Include="DBCoreState.h" />
    <ClInclude Include="IDiskQueue.h" />
    <ClInclude Include="IKeyValueStore.h" />
    <ClInclude Include="IndirectShadowPager.h" />
    <ClInclude Include="IPager.h" />
    <ClInclude Include="IVersionedStore.h" />
    <ClInclude Include="LatencyBandConfig.h" />
    <ClInclude Include="LeaderElection.h" />
    <ClInclude Include="LogProtocolMessage.h" />
    <ClInclude Include="LogSystem.h" />
    <ClInclude Include="LogSystemConfig.h" />
    <ClInclude Include="LogSystemDiskQueueAdapter.h" />
    <ClInclude Include="MasterInterface.h" />
    <ClInclude Include="MemoryPager.h" />
    <ClInclude Include="MoveKeys.h" />
    <ClInclude Include="NetworkTest.h" />
    <ActorCompiler Include="Orderer.actor.h">
      <EnableCompile Condition="'$(Configuration)|$(Platform)'=='Release|X64'">false</EnableCompile>
    </ActorCompiler>
    <ClInclude Include="pubsub.h" />
    <ClInclude Include="Knobs.h" />
    <ActorCompiler Include="StorageMetrics.actor.h">
      <EnableCompile>false</EnableCompile>
    </ActorCompiler>
    <ClInclude Include="QuietDatabase.h" />
    <ClInclude Include="Ratekeeper.h" />
    <ClInclude Include="RecoveryState.h" />
    <ClInclude Include="ResolverInterface.h" />
    <ClInclude Include="RestoreInterface.h" />
    <ClInclude Include="ServerDBInfo.h" />
    <ClInclude Include="SimulatedCluster.h" />
    <ClInclude Include="sqlite\btree.h" />
    <ClInclude Include="sqlite\hash.h" />
    <ClInclude Include="sqlite\sqlite3.h" />
    <ClInclude Include="sqlite\sqlite3ext.h" />
    <ClInclude Include="sqlite\sqliteInt.h" />
    <ClInclude Include="sqlite\sqliteLimit.h" />
    <ClInclude Include="Status.h" />
    <ClInclude Include="StorageMetrics.h" />
    <ClInclude Include="template_fdb.h" />
    <ClInclude Include="TLogInterface.h" />
    <ClInclude Include="WaitFailure.h" />
    <ClInclude Include="TesterInterface.h" />
    <ClInclude Include="WorkerInterface.h" />
    <ActorCompiler Include="workloads\BulkSetup.actor.h">
      <EnableCompile>false</EnableCompile>
    </ActorCompiler>
    <ActorCompiler Include="workloads\AsyncFile.actor.h" />
    <ClInclude Include="workloads\ApiWorkload.h" />
    <ClInclude Include="workloads\MemoryKeyValueStore.h" />
    <ClInclude Include="workloads\workloads.h" />
  </ItemGroup>
  <PropertyGroup Label="Globals">
    <ProjectGUID>{8E959DA5-5925-45CE-BFC4-C84EB632A29A}</ProjectGUID>
    <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
    <Keyword>Win32Proj</Keyword>
    <RootNamespace>flow</RootNamespace>
  </PropertyGroup>
  <PropertyGroup>
    <OutDir>$(SolutionDir)bin\$(Configuration)\</OutDir>
    <IntDir>$(SystemDrive)\temp\msvcfdb\$(Platform)$(Configuration)\$(MSBuildProjectName)\</IntDir>
    <BuildLogFile>$(IntDir)\$(MSBuildProjectName).log</BuildLogFile>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|X64'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <CharacterSet>MultiByte</CharacterSet>
    <PlatformToolset>v140_xp</PlatformToolset>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|X64'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <CharacterSet>MultiByte</CharacterSet>
    <PlatformToolset>v140_xp</PlatformToolset>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Label="PropertySheets">
    <Import Project="$(LocalAppData)\Microsoft\VisualStudio\10.0\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(LocalAppData)\Microsoft\VisualStudio\10.0\Microsoft.Cpp.$(Platform).user.props')" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">
    <LinkIncremental>true</LinkIncremental>
    <IncludePath>$(IncludePath);../;C:\Program Files\boost_1_52_0</IncludePath>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|X64'">
    <LinkIncremental>false</LinkIncremental>
    <IncludePath>$(IncludePath);../;C:\Program Files\boost_1_52_0</IncludePath>
    <CustomBuildBeforeTargets>PreBuildEvent</CustomBuildBeforeTargets>
  </PropertyGroup>
  <ItemDefinitionGroup>
    <Lib>
      <AdditionalDependencies>$(TargetDir)fdbclient.lib</AdditionalDependencies>
    </Lib>
    <ClCompile>
      <PreprocessorDefinitions>FDB_VT_VERSION="$(Version)$(PreReleaseDecoration)";FDB_VT_PACKAGE_NAME="$(PackageName)";%(PreprocessorDefinitions)</PreprocessorDefinitions>
    </ClCompile>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">
    <ClCompile>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <WarningLevel>Level3</WarningLevel>
      <MinimalRebuild>false</MinimalRebuild>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <Optimization>Disabled</Optimization>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
      <PreprocessorDefinitions>TLS_DISABLED;WIN32;_WIN32_WINNT=0x0502;WINVER=0x0502;NTDDI_VERSION=0x05020000;_DEBUG;_HAS_ITERATOR_DEBUGGING=0;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <MultiProcessorCompilation>true</MultiProcessorCompilation>
      <AdditionalOptions>/bigobj @../flow/no_intellisense.opt %(AdditionalOptions)</AdditionalOptions>
      <PreprocessToFile>false</PreprocessToFile>
    </ClCompile>
    <Link>
      <SubSystem>Console</SubSystem>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <AdditionalDependencies>$(SolutionDir)bin\$(Configuration)\fdbclient.lib;Advapi32.lib</AdditionalDependencies>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|X64'">
    <ClCompile>
      <WarningLevel>Level3</WarningLevel>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <Optimization>Full</Optimization>
      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
      <IntrinsicFunctions>true</IntrinsicFunctions>
      <PreprocessorDefinitions>TLS_DISABLED;WIN32;_WIN32_WINNT=0x0502;WINVER=0x0502;NTDDI_VERSION=0x05020000;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
      <EnablePREfast>false</EnablePREfast>
      <AdditionalOptions>/bigobj @../flow/no_intellisense.opt %(AdditionalOptions)</AdditionalOptions>
      <MultiProcessorCompilation>true</MultiProcessorCompilation>
      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
      <BufferSecurityCheck>false</BufferSecurityCheck>
      <MinimalRebuild>false</MinimalRebuild>
    </ClCompile>
    <Link>
      <SubSystem>Console</SubSystem>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <EnableCOMDATFolding>false</EnableCOMDATFolding>
      <OptimizeReferences>false</OptimizeReferences>
      <AdditionalDependencies>$(SolutionDir)bin\$(Configuration)\fdbclient.lib;Advapi32.lib</AdditionalDependencies>
      <AdditionalOptions>/LTCG %(AdditionalOptions)</AdditionalOptions>
    </Link>
  </ItemDefinitionGroup>
  <ImportGroup Label="ExtensionTargets">
    <Import Project="..\flow\actorcompiler\ActorCompiler.targets" />
  </ImportGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <Target Name="MyPreCompileSteps" AfterTargets="CLCompile">
    <Exec Command="..\bin\$(Configuration)\coveragetool.exe &quot;$(OutDir)coverage.$(TargetName).xml&quot; @(ActorCompiler -> '%(RelativeDir)%(Filename)%(Extension)', ' ')" />
    <Exec Command="..\bin\$(Configuration)\coveragetool.exe &quot;$(OutDir)coverage.$(TargetName).include.xml&quot; @(CLInclude -> '%(RelativeDir)%(Filename)%(Extension)', ' ')" />
    <Exec Command="..\bin\$(Configuration)\coveragetool.exe &quot;$(OutDir)coverage.$(TargetName).compile.xml&quot; @(CLCompile -> '%(RelativeDir)%(Filename)%(Extension)', ' ')" />
  </Target>
</Project>
