summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorevoskuil <eric@voskuil.org>2014-04-15 23:40:29 (GMT)
committer evoskuil <eric@voskuil.org>2014-04-15 23:40:29 (GMT)
commit682d34e794bd877a3febe3f5b76b4b6c9d12e6d8 (patch)
tree716f86a0df508d23fb5f4f8ff2673b9ca7418219
parentcadde1225ae1f9cf9b016079cb4d6be3a48ccde2 (diff)
parent2635089289676417e4914df33b4a3a9f11330be8 (diff)
Merge pull request #44 from evoskuil/master
Add examples projects to VS projects and refine project config.
-rw-r--r--builds/msvc/.gitignore (renamed from builds/msvc/vs2013/.gitignore)2
-rw-r--r--builds/msvc/vs2013/examples/libbitcoin_examples.props78
-rw-r--r--builds/msvc/vs2013/examples/libbitcoin_examples.vcxproj215
-rw-r--r--builds/msvc/vs2013/examples/libbitcoin_examples.vcxproj.filters49
-rw-r--r--builds/msvc/vs2013/examples/packages.config19
-rw-r--r--builds/msvc/vs2013/libbitcoin.import.props79
-rw-r--r--builds/msvc/vs2013/libbitcoin.import.xml34
-rw-r--r--builds/msvc/vs2013/libbitcoin.sln26
-rw-r--r--builds/msvc/vs2013/libbitcoin/libbitcoin.props56
-rw-r--r--builds/msvc/vs2013/libbitcoin/libbitcoin.vcxproj103
-rw-r--r--builds/msvc/vs2013/libbitcoin/libbitcoin.xml12
-rw-r--r--builds/msvc/vs2013/properties/Common.props3
-rw-r--r--builds/msvc/vs2013/properties/Console.props20
-rw-r--r--builds/msvc/vs2013/properties/ConsoleDebugDynamic.props21
-rw-r--r--builds/msvc/vs2013/properties/ConsoleDebugLinkTimeCodeGeneration.props21
-rw-r--r--builds/msvc/vs2013/properties/ConsoleDebugStatic.props20
-rw-r--r--builds/msvc/vs2013/properties/ConsoleReleaseDynamic.props20
-rw-r--r--builds/msvc/vs2013/properties/ConsoleReleaseLinkTimeCodeGeneration.props20
-rw-r--r--builds/msvc/vs2013/properties/ConsoleReleaseStatic.props19
-rw-r--r--builds/msvc/vs2013/properties/Debug.props3
-rw-r--r--builds/msvc/vs2013/properties/Dynamic.props3
-rw-r--r--builds/msvc/vs2013/properties/DynamicDebug.props3
-rw-r--r--builds/msvc/vs2013/properties/DynamicRelease.props3
-rw-r--r--builds/msvc/vs2013/properties/LinkTimeCodeGeneration.props3
-rw-r--r--builds/msvc/vs2013/properties/Release.props3
-rw-r--r--builds/msvc/vs2013/properties/Static.props3
-rw-r--r--builds/msvc/vs2013/properties/StaticDebug.props3
-rw-r--r--builds/msvc/vs2013/properties/StaticDebugLinkTimeCodeGeneration.props3
-rw-r--r--builds/msvc/vs2013/properties/StaticLinkTimeCodeGeneration.props3
-rw-r--r--builds/msvc/vs2013/properties/StaticRelease.props3
-rw-r--r--builds/msvc/vs2013/properties/StaticReleaseLinkTimeCodeGeneration.props3
-rw-r--r--builds/msvc/vs2013/properties/Win32.props3
-rw-r--r--builds/msvc/vs2013/properties/x64.props3
-rw-r--r--examples/accept.cpp5
-rw-r--r--examples/connect.cpp4
-rw-r--r--examples/fullnode.cpp4
-rw-r--r--examples/proto.cpp2
-rw-r--r--examples/satoshiwords.cpp3
-rw-r--r--examples/txrad.cpp2
39 files changed, 745 insertions, 134 deletions
diff --git a/builds/msvc/vs2013/.gitignore b/builds/msvc/.gitignore
index c4e9041..7f1fcda 100644
--- a/builds/msvc/vs2013/.gitignore
+++ b/builds/msvc/.gitignore
@@ -1,3 +1,3 @@
-*.v12.suo
+*.suo
*.opensdf
*.sdf
diff --git a/builds/msvc/vs2013/examples/libbitcoin_examples.props b/builds/msvc/vs2013/examples/libbitcoin_examples.props
new file mode 100644
index 0000000..6d66aa8
--- /dev/null
+++ b/builds/msvc/vs2013/examples/libbitcoin_examples.props
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <PropertyGroup>
+ <_PropertySheetDisplayName>Libbitcoin Examples Common Settings</_PropertySheetDisplayName>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <RunCodeAnalysis>false</RunCodeAnalysis>
+ </PropertyGroup>
+
+ <!-- Configuration -->
+
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ <EnablePREfast>false</EnablePREfast>
+ <PreprocessorDefinitions>_WIN32_WINNT=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="$(Configuration.IndexOf('Release')) != -1">BITCOIN_DISABLE_ASSERTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <!-- HACK : CURL_STATICLIB should be injected by the cURL package. -->
+ <PreprocessorDefinitions Condition="$(Configuration.IndexOf('SEXE')) != -1 Or $(Configuration.IndexOf('LEXE')) != -1">CURL_STATICLIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <!-- BUGBUG: there are linker errors in two examples. -->
+ <Link>
+ <AdditionalOptions Condition="$(Configuration.IndexOf('Debug')) != -1">/OPT:NOLBR /IGNORE:4099 %(AdditionalOptions)</AdditionalOptions>
+ </Link>
+ </ItemDefinitionGroup>
+
+ <!-- Extensions -->
+
+ <ImportGroup Label="PropertySheets">
+ <Import Project="$(SolutionDir)libbitcoin.import.props" />
+ </ImportGroup>
+
+ <PropertyGroup>
+ <!-- Libbitcoin must also be built with leveldb. -->
+ <Option-leveldb>true</Option-leveldb>
+ </PropertyGroup>
+
+ <PropertyGroup Condition="$(Configuration.IndexOf('DEXE')) != -1">
+ <Linkage-curl>dynamic</Linkage-curl>
+ <Linkage-zlib>dynamic</Linkage-zlib>
+ <Linkage-openssl>dynamic</Linkage-openssl>
+ <Linkage-libbitcoin>dynamic</Linkage-libbitcoin>
+ </PropertyGroup>
+ <PropertyGroup Condition="$(Configuration.IndexOf('LEXE')) != -1">
+ <Linkage-curl>ltcg</Linkage-curl>
+ <Linkage-zlib>ltcg</Linkage-zlib>
+ <Linkage-openssl>ltcg</Linkage-openssl>
+ <Linkage-libbitcoin>ltcg</Linkage-libbitcoin>
+ </PropertyGroup>
+ <PropertyGroup Condition="$(Configuration.IndexOf('SEXE')) != -1">
+ <Linkage-curl>static</Linkage-curl>
+ <Linkage-zlib>static</Linkage-zlib>
+ <Linkage-openssl>static</Linkage-openssl>
+ <Linkage-libbitcoin>static</Linkage-libbitcoin>
+ </PropertyGroup>
+
+ <!-- Messages -->
+
+ <Target Name="OptionInfo" BeforeTargets="PrepareForBuild">
+ <Message Text="Option-leveldb : $(Option-leveldb)" Importance="high"/>
+ <Message Text="Option-testnet : $(Option-testnet)" Importance="high"/>
+ </Target>
+
+ <Target Name="LinkageInfo" BeforeTargets="PrepareForBuild">
+ <Message Text="Linkage-curl : $(Linkage-curl)" Importance="high"/>
+ <Message Text="Linkage-zlib : $(Linkage-zlib)" Importance="high"/>
+ <Message Text="Linkage-openssl : $(Linkage-openssl)" Importance="high"/>
+ <Message Text="Linkage-libbitcoin: $(Linkage-libbitcoin)" Importance="high"/>
+ </Target>
+
+ <Target Name="CustomInfo" AfterTargets="Build" Condition="$(Configuration.IndexOf('SEXE')) != -1">
+ <Message Text="A LTCG warning on 'libeay32.lib' is a the result of a COAPP OpenSSL packaging error and can be safely ignored." Importance="high"/>
+ </Target>
+
+</Project>
+
+
+
diff --git a/builds/msvc/vs2013/examples/libbitcoin_examples.vcxproj b/builds/msvc/vs2013/examples/libbitcoin_examples.vcxproj
new file mode 100644
index 0000000..f0f4a36
--- /dev/null
+++ b/builds/msvc/vs2013/examples/libbitcoin_examples.vcxproj
@@ -0,0 +1,215 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="..\..\..\..\..\..\nuget\LevelDB.1.16.0.5\build\native\LevelDB.props" Condition="Exists('..\..\..\..\..\..\nuget\LevelDB.1.16.0.5\build\native\LevelDB.props')" />
+ <Import Project="..\..\..\..\..\..\nuget\Snappy.1.1.1.7\build\native\Snappy.props" Condition="Exists('..\..\..\..\..\..\nuget\Snappy.1.1.1.7\build\native\Snappy.props')" />
+ <Import Project="..\..\..\..\..\..\nuget\Crc32C.1.0.4\build\native\Crc32C.props" Condition="Exists('..\..\..\..\..\..\nuget\Crc32C.1.0.4\build\native\Crc32C.props')" />
+ <Import Project="..\..\..\..\..\..\nuget\openssl.1.0.1.24\build\native\openssl.props" Condition="Exists('..\..\..\..\..\..\nuget\openssl.1.0.1.24\build\native\openssl.props')" />
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{15BF93A0-69D3-4723-9FDE-EB8B73C69E09}</ProjectGuid>
+ <ProjectName>libbitcoin_examples</ProjectName>
+ <RootNamespace>libbitcoin_examples12</RootNamespace>
+ </PropertyGroup>
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="DebugDEXE|Win32">
+ <Configuration>DebugDEXE</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="ReleaseDEXE|Win32">
+ <Configuration>ReleaseDEXE</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="DebugDEXE|x64">
+ <Configuration>DebugDEXE</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="ReleaseDEXE|x64">
+ <Configuration>ReleaseDEXE</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="DebugLEXE|Win32">
+ <Configuration>DebugLEXE</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="ReleaseLEXE|Win32">
+ <Configuration>ReleaseLEXE</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="DebugLEXE|x64">
+ <Configuration>DebugLEXE</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="ReleaseLEXE|x64">
+ <Configuration>ReleaseLEXE</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="DebugSEXE|Win32">
+ <Configuration>DebugSEXE</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="ReleaseSEXE|Win32">
+ <Configuration>ReleaseSEXE</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="DebugSEXE|x64">
+ <Configuration>DebugSEXE</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="ReleaseSEXE|x64">
+ <Configuration>ReleaseSEXE</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Configuration">
+ <PlatformToolset>CTP_Nov2013</PlatformToolset>
+ <ConfigurationType>Application</ConfigurationType>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='DebugDEXE|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ProjectDir)$(ProjectName).props" />
+ <Import Project="$(ProjectDir)..\properties\ConsoleDebugDynamic.props" />
+ <Import Project="$(ProjectDir)..\properties\Win32.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='ReleaseDEXE|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ProjectDir)$(ProjectName).props" />
+ <Import Project="$(ProjectDir)..\properties\ConsoleReleaseDynamic.props" />
+ <Import Project="$(ProjectDir)..\properties\Win32.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugDEXE|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ProjectDir)$(ProjectName).props" />
+ <Import Project="$(ProjectDir)..\properties\ConsoleDebugDynamic.props" />
+ <Import Project="$(ProjectDir)..\properties\x64.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDEXE|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ProjectDir)$(ProjectName).props" />
+ <Import Project="$(ProjectDir)..\properties\ConsoleReleaseDynamic.props" />
+ <Import Project="$(ProjectDir)..\properties\x64.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugLEXE|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ProjectDir)$(ProjectName).props" />
+ <Import Project="$(ProjectDir)..\properties\ConsoleDebugLinkTimeCodeGeneration.props" />
+ <Import Project="$(ProjectDir)..\properties\Win32.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLEXE|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ProjectDir)$(ProjectName).props" />
+ <Import Project="$(ProjectDir)..\properties\ConsoleReleaseLinkTimeCodeGeneration.props" />
+ <Import Project="$(ProjectDir)..\properties\Win32.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugLEXE|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ProjectDir)$(ProjectName).props" />
+ <Import Project="$(ProjectDir)..\properties\ConsoleDebugLinkTimeCodeGeneration.props" />
+ <Import Project="$(ProjectDir)..\properties\x64.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLEXE|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ProjectDir)$(ProjectName).props" />
+ <Import Project="$(ProjectDir)..\properties\ConsoleReleaseLinkTimeCodeGeneration.props" />
+ <Import Project="$(ProjectDir)..\properties\x64.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugSEXE|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ProjectDir)$(ProjectName).props" />
+ <Import Project="$(ProjectDir)..\properties\ConsoleDebugStatic.props" />
+ <Import Project="$(ProjectDir)..\properties\Win32.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseSEXE|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ProjectDir)$(ProjectName).props" />
+ <Import Project="$(ProjectDir)..\properties\ConsoleReleaseStatic.props" />
+ <Import Project="$(ProjectDir)..\properties\Win32.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugSEXE|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ProjectDir)$(ProjectName).props" />
+ <Import Project="$(ProjectDir)..\properties\ConsoleDebugStatic.props" />
+ <Import Project="$(ProjectDir)..\properties\x64.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseSEXE|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ProjectDir)$(ProjectName).props" />
+ <Import Project="$(ProjectDir)..\properties\ConsoleReleaseStatic.props" />
+ <Import Project="$(ProjectDir)..\properties\x64.props" />
+ </ImportGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets" />
+ <ImportGroup Label="ExtensionSettings">
+ <Import Project="..\..\..\..\..\..\nuget\openssl.redist.1.0.1.24\build\native\openssl.redist.targets" Condition="Exists('..\..\..\..\..\..\nuget\openssl.redist.1.0.1.24\build\native\openssl.redist.targets')" />
+ <Import Project="..\..\..\..\..\..\nuget\openssl.1.0.1.24\build\native\openssl.targets" Condition="Exists('..\..\..\..\..\..\nuget\openssl.1.0.1.24\build\native\openssl.targets')" />
+ <Import Project="..\..\..\..\..\..\nuget\boost.1.55.0.16\build\native\boost.targets" Condition="Exists('..\..\..\..\..\..\nuget\boost.1.55.0.16\build\native\boost.targets')" />
+ <Import Project="..\..\..\..\..\..\nuget\boost_system-vc120.1.55.0.16\build\native\boost_system-vc120.targets" Condition="Exists('..\..\..\..\..\..\nuget\boost_system-vc120.1.55.0.16\build\native\boost_system-vc120.targets')" />
+ <Import Project="..\..\..\..\..\..\nuget\boost_date_time-vc120.1.55.0.16\build\native\boost_date_time-vc120.targets" Condition="Exists('..\..\..\..\..\..\nuget\boost_date_time-vc120.1.55.0.16\build\native\boost_date_time-vc120.targets')" />
+ <Import Project="..\..\..\..\..\..\nuget\boost_regex-vc120.1.55.0.16\build\native\boost_regex-vc120.targets" Condition="Exists('..\..\..\..\..\..\nuget\boost_regex-vc120.1.55.0.16\build\native\boost_regex-vc120.targets')" />
+ <Import Project="..\..\..\..\..\..\nuget\zlib.redist.1.2.8.6\build\native\zlib.redist.targets" Condition="Exists('..\..\..\..\..\..\nuget\zlib.redist.1.2.8.6\build\native\zlib.redist.targets')" />
+ <Import Project="..\..\..\..\..\..\nuget\zlib.1.2.8.6\build\native\zlib.targets" Condition="Exists('..\..\..\..\..\..\nuget\zlib.1.2.8.6\build\native\zlib.targets')" />
+ <Import Project="..\..\..\..\..\..\nuget\boost_filesystem-vc120.1.55.0.16\build\native\boost_filesystem-vc120.targets" Condition="Exists('..\..\..\..\..\..\nuget\boost_filesystem-vc120.1.55.0.16\build\native\boost_filesystem-vc120.targets')" />
+ </ImportGroup>
+ <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+ <PropertyGroup>
+ <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
+ </PropertyGroup>
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\openssl.redist.1.0.1.24\build\native\openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\openssl.redist.1.0.1.24\build\native\openssl.redist.targets'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\openssl.1.0.1.24\build\native\openssl.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\openssl.1.0.1.24\build\native\openssl.props'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\openssl.1.0.1.24\build\native\openssl.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\openssl.1.0.1.24\build\native\openssl.targets'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\boost.1.55.0.16\build\native\boost.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\boost.1.55.0.16\build\native\boost.targets'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\boost_system-vc120.1.55.0.16\build\native\boost_system-vc120.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\boost_system-vc120.1.55.0.16\build\native\boost_system-vc120.targets'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\boost_date_time-vc120.1.55.0.16\build\native\boost_date_time-vc120.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\boost_date_time-vc120.1.55.0.16\build\native\boost_date_time-vc120.targets'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\boost_regex-vc120.1.55.0.16\build\native\boost_regex-vc120.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\boost_regex-vc120.1.55.0.16\build\native\boost_regex-vc120.targets'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\Crc32C.1.0.4\build\native\Crc32C.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\Crc32C.1.0.4\build\native\Crc32C.props'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\Snappy.1.1.1.7\build\native\Snappy.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\Snappy.1.1.1.7\build\native\Snappy.props'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\LevelDB.1.16.0.5\build\native\LevelDB.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\LevelDB.1.16.0.5\build\native\LevelDB.props'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\zlib.redist.1.2.8.6\build\native\zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\zlib.redist.1.2.8.6\build\native\zlib.redist.targets'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\zlib.1.2.8.6\build\native\zlib.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\zlib.1.2.8.6\build\native\zlib.targets'))" />
+ <Error Condition="!Exists('..\..\..\..\..\..\nuget\boost_filesystem-vc120.1.55.0.16\build\native\boost_filesystem-vc120.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\..\nuget\boost_filesystem-vc120.1.55.0.16\build\native\boost_filesystem-vc120.targets'))" />
+ </Target>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\..\examples\accept.cpp">
+ <ExcludedFromBuild>false</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\examples\balance.cpp">
+ <ExcludedFromBuild>true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\examples\connect.cpp">
+ <ExcludedFromBuild>true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\examples\display-last.cpp">
+ <ExcludedFromBuild>true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\examples\fullnode.cpp">
+ <ExcludedFromBuild>true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\examples\initchain.cpp">
+ <ExcludedFromBuild>true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\examples\priv.cpp">
+ <ExcludedFromBuild>true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\examples\proto.cpp">
+ <ExcludedFromBuild>true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\examples\query-stealth.cpp">
+ <ExcludedFromBuild>true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\examples\satoshiwords.cpp">
+ <ExcludedFromBuild>true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\examples\txrad.cpp">
+ <ExcludedFromBuild>true</ExcludedFromBuild>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="packages.config">
+ </None>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\libbitcoin\libbitcoin.vcxproj">
+ <Project>{39F60708-FF48-4C22-952D-43470866F684}</Project>
+ </ProjectReference>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/examples/libbitcoin_examples.vcxproj.filters b/builds/msvc/vs2013/examples/libbitcoin_examples.vcxproj.filters
new file mode 100644
index 0000000..c0e1563
--- /dev/null
+++ b/builds/msvc/vs2013/examples/libbitcoin_examples.vcxproj.filters
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <ClCompile Include="..\..\..\..\examples\accept.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\examples\display-last.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\examples\fullnode.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\examples\initchain.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\examples\priv.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\examples\proto.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\examples\query-stealth.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\examples\satoshiwords.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\examples\txrad.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\examples\balance.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\examples\connect.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\lib\native\src\leveldb-single-file.cpp" />
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\lib\native\src\snappy-single-file.cpp" />
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\lib\native\src\crc32c.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <Filter Include="src">
+ <UniqueIdentifier>{9a1b1e98-7cf9-47aa-9449-1f27fe15f5a6}</UniqueIdentifier>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="packages.config" />
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/examples/packages.config b/builds/msvc/vs2013/examples/packages.config
new file mode 100644
index 0000000..86e89f3
--- /dev/null
+++ b/builds/msvc/vs2013/examples/packages.config
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="boost" version="1.55.0.16" targetFramework="Native" />
+ <package id="boost_date_time-vc120" version="1.55.0.16" targetFramework="Native" />
+ <package id="boost_filesystem-vc120" version="1.55.0.16" targetFramework="Native" />
+ <package id="boost_regex-vc120" version="1.55.0.16" targetFramework="Native" />
+ <package id="boost_system-vc120" version="1.55.0.16" targetFramework="Native" />
+ <package id="Crc32C" version="1.0.4" targetFramework="Native" />
+ <package id="curl" version="7.30.0.2" targetFramework="Native" />
+ <package id="curl.redist" version="7.30.0.2" targetFramework="Native" />
+ <package id="LevelDB" version="1.16.0.5" targetFramework="Native" />
+ <package id="libssh2" version="1.4.3.1" targetFramework="Native" />
+ <package id="libssh2.redist" version="1.4.3.1" targetFramework="Native" />
+ <package id="openssl" version="1.0.1.24" targetFramework="Native" />
+ <package id="openssl.redist" version="1.0.1.24" targetFramework="Native" />
+ <package id="Snappy" version="1.1.1.7" targetFramework="Native" />
+ <package id="zlib" version="1.2.8.6" targetFramework="Native" />
+ <package id="zlib.redist" version="1.2.8.6" targetFramework="Native" />
+</packages> \ No newline at end of file
diff --git a/builds/msvc/vs2013/libbitcoin.import.props b/builds/msvc/vs2013/libbitcoin.import.props
new file mode 100644
index 0000000..4b0a573
--- /dev/null
+++ b/builds/msvc/vs2013/libbitcoin.import.props
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <PropertyGroup Label="Globals">
+ <_PropertySheetDisplayName>Libbitcoin Import Settings</_PropertySheetDisplayName>
+ </PropertyGroup>
+
+ <!-- User Interface -->
+
+ <ItemGroup Label="BuildOptionsExtension">
+ <PropertyPageSchema Include="$(MSBuildThisFileDirectory)libbitcoin.import.xml" />
+ </ItemGroup>
+
+ <!-- Configuration -->
+
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <AdditionalIncludeDirectories>$(ProjectDir)..\..\..\..\..\libbitcoin\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Option-testnet)' == 'true'">ENABLE_TESTNET;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Option-leveldb)' == 'true'">LEVELDB_ENABLED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="$(Configuration.IndexOf('Release')) != -1">BITCOIN_DISABLE_ASSERTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Linkage-libbitcoin)' == 'static' Or '$(Linkage-libbitcoin)' == 'ltcg'">BC_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ </ItemDefinitionGroup>
+
+ <!-- Linkage -->
+
+ <ItemDefinitionGroup Condition="'$(Linkage-libbitcoin)' == 'dynamic'">
+ <Link Condition="$(Configuration.IndexOf('Debug')) != -1">
+ <AdditionalDependencies>$(ProjectDir)..\..\..\..\..\libbitcoin\bin\$(PlatformName)\Debug\libbitcoin12\libbitcoin.imp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ <Link Condition="$(Configuration.IndexOf('Release')) != -1">
+ <AdditionalDependencies>$(ProjectDir)..\..\..\..\..\libbitcoin\bin\$(PlatformName)\Release\libbitcoin12\libbitcoin.imp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+
+ <ItemDefinitionGroup Condition="'$(Linkage-libbitcoin)' == 'static'">
+ <Link Condition="$(Configuration.IndexOf('Debug')) != -1">
+ <AdditionalDependencies>$(ProjectDir)..\..\..\..\..\libbitcoin\bin\$(PlatformName)\Debug\libbitcoin12\libbitcoin.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ <Link Condition="$(Configuration.IndexOf('Release')) != -1">
+ <AdditionalDependencies>$(ProjectDir)..\..\..\..\..\libbitcoin\bin\$(PlatformName)\Release\libbitcoin12\libbitcoin.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+
+ <ItemDefinitionGroup Condition="'$(Linkage-libbitcoin)' == 'ltcg'">
+ <Link Condition="$(Configuration.IndexOf('Debug')) != -1">
+ <AdditionalDependencies>$(ProjectDir)..\..\..\..\..\libbitcoin\bin\$(PlatformName)\Debug\libbitcoin12\libbitcoin.ltcg.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ <Link Condition="$(Configuration.IndexOf('Release')) != -1">
+ <AdditionalDependencies>$(ProjectDir)..\..\..\..\..\libbitcoin\bin\$(PlatformName)\Release\libbitcoin12\libbitcoin.ltcg.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+
+ <!-- Copy -->
+
+ <Target Name="Linkage-libbitcoin-dynamic" AfterTargets="AfterBuild" Condition="'$(Linkage-libbitcoin)' == 'dynamic'">
+ <Copy Condition="$(Configuration.IndexOf('Debug')) != -1"
+ SourceFiles="$(ProjectDir)..\..\..\..\..\libbitcoin\bin\$(PlatformName)\Debug\libbitcoin12\libbitcoin.dll"
+ DestinationFiles="$(TargetDir)libbitcoin.dll"
+ SkipUnchangedFiles="true" />
+ <Copy Condition="$(Configuration.IndexOf('Debug')) != -1"
+ SourceFiles="$(ProjectDir)..\..\..\..\..\libbitcoin\bin\$(PlatformName)\Debug\libbitcoin12\libbitcoin.pdb"
+ DestinationFiles="$(TargetDir)libbitcoin.pdb"
+ SkipUnchangedFiles="true" />
+ <Copy Condition="$(Configuration.IndexOf('Release')) != -1"
+ SourceFiles="$(ProjectDir)..\..\..\..\..\libbitcoin\bin\$(PlatformName)\Release\libbitcoin12\libbitcoin.dll"
+ DestinationFiles="$(TargetDir)libbitcoin.dll"
+ SkipUnchangedFiles="true" />
+ </Target>
+
+ <!-- Messages -->
+
+ <Target Name="libbitcoin-info" BeforeTargets="AfterBuild" Condition="'$(Linkage-libbitcoin)' == 'dynamic'">
+ <Message Text="Copying libbitcoin.dll -&gt; $(TargetDir)libbitcoin.dll" Importance="high"/>
+ <Message Text="Copying libbitcoin.pdb -&gt; $(TargetDir)libbitcoin.pdb" Importance="high" Condition="$(Configuration.IndexOf('Debug')) != -1" />
+ </Target>
+
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/libbitcoin.import.xml b/builds/msvc/vs2013/libbitcoin.import.xml
new file mode 100644
index 0000000..1baa1b7
--- /dev/null
+++ b/builds/msvc/vs2013/libbitcoin.import.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework">
+ <Rule Name="libbitcoin-options-uiextension" PageTemplate="tool" DisplayName="Bitcoin Options" SwitchPrefix="/" Order="1">
+ <Rule.Categories>
+ <Category Name="leveldb" DisplayName="leveldb" />
+ <Category Name="testnet" DisplayName="testnet" />
+ </Rule.Categories>
+ <Rule.DataSource>
+ <DataSource Persistence="ProjectFile" ItemType="" />
+ </Rule.DataSource>
+ <EnumProperty Name="Option-leveldb" DisplayName="Enable LevelDB" Description="Enable the LevelDB build option" Category="leveldb">
+ <EnumValue Name="" DisplayName="No" />
+ <EnumValue Name="true" DisplayName="Yes" />
+ </EnumProperty>
+ <EnumProperty Name="Option-testnet" DisplayName="Enable Testnet" Description="Enable the Testnet build option" Category="testnet">
+ <EnumValue Name="" DisplayName="No" />
+ <EnumValue Name="true" DisplayName="Yes" />
+ </EnumProperty>
+ </Rule>
+ <Rule Name="libbitcoin-linkage-uiextension" PageTemplate="tool" DisplayName="Local Dependencies" SwitchPrefix="/" Order="1">
+ <Rule.Categories>
+ <Category Name="libbitcoin" DisplayName="libbitcoin" />
+ </Rule.Categories>
+ <Rule.DataSource>
+ <DataSource Persistence="ProjectFile" ItemType="" />
+ </Rule.DataSource>
+ <EnumProperty Name="Linkage-libbitcoin" DisplayName="Linkage" Description="How libbitcoin will be linked into the output of this project" Category="libbitcoin">
+ <EnumValue Name="" DisplayName="Not linked" />
+ <EnumValue Name="dynamic" DisplayName="Dynamic (DLL)" />
+ <EnumValue Name="static" DisplayName="Static (LIB)" />
+ <EnumValue Name="ltcg" DisplayName="Static using link time compile generation (LTCG)" />
+ </EnumProperty>
+ </Rule>
+</ProjectSchemaDefinitions> \ No newline at end of file
diff --git a/builds/msvc/vs2013/libbitcoin.sln b/builds/msvc/vs2013/libbitcoin.sln
index a7f7438..b5d387c 100644
--- a/builds/msvc/vs2013/libbitcoin.sln
+++ b/builds/msvc/vs2013/libbitcoin.sln
@@ -5,6 +5,8 @@ VisualStudioVersion = 12.0.30110.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbitcoin", "libbitcoin\libbitcoin.vcxproj", "{39F60708-FF48-4C22-952D-43470866F684}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbitcoin_examples", "examples\libbitcoin_examples.vcxproj", "{15BF93A0-69D3-4723-9FDE-EB8B73C69E09}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
DynDebug|Win32 = DynDebug|Win32
@@ -45,6 +47,30 @@ Global
{39F60708-FF48-4C22-952D-43470866F684}.StaticRelease|Win32.Build.0 = ReleaseLIB|Win32
{39F60708-FF48-4C22-952D-43470866F684}.StaticRelease|x64.ActiveCfg = ReleaseLIB|x64
{39F60708-FF48-4C22-952D-43470866F684}.StaticRelease|x64.Build.0 = ReleaseLIB|x64
+ {15BF93A0-69D3-4723-9FDE-EB8B73C69E09}.DynDebug|Win32.ActiveCfg = DebugDEXE|Win32
+ {15BF93A0-69D3-4723-9FDE-EB8B73C69E09}.DynDebug|Win32.Build.0 = DebugDEXE|Win32
+ {15BF93A0-69D3-4723-9FDE-EB8B73C69E09}.DynDebug|x64.ActiveCfg = DebugDEXE|x64
+ {15BF93A0-69D3-4723-9FDE-EB8B73C69E09}.DynDebug|x64.Build.0 = DebugDEXE|x64
+ {15BF93A0-69D3-4723-9FDE-EB8B73C69E09}.DynRelease|Win32.ActiveCfg = ReleaseDEXE|Win32
+ {15BF93A0-69D3-4723-9FDE-EB8B73C69E09}.DynRelease|Win32.Build.0 = ReleaseDEXE|Win32
+ {15BF93A0-69D3-4723-9FDE-EB8B73C69E09}.DynRelease|x64.ActiveCfg = ReleaseDEXE|x64
+ {15BF93A0-69D3-4723-9FDE-EB8B73C69E09}.DynRelease|x64.Build.0 = ReleaseDEXE|x64
+ {15BF93A0-69D3-4723-9FDE-EB8B73C69E09}.LtcgDebug|Win32.ActiveCfg = DebugLEXE|Win32
+ {15BF93A0-69D3-4723-9FDE-EB8B73C69E09}.LtcgDebug|Win32.Build.0 = DebugLEXE|Win32
+ {15BF93A0-69D3-4723-9FDE-EB8B73C69E09}.LtcgDebug|x64.ActiveCfg = DebugLEXE|x64
+ {15BF93A0-69D3-4723-9FDE-EB8B73C69E09}.LtcgDebug|x64.Build.0 = DebugLEXE|x64
+ {15BF93A0-69D3-4723-9FDE-EB8B73C69E09}.LtcgRelease|Win32.ActiveCfg = ReleaseLEXE|Win32
+ {15BF93A0-69D3-4723-9FDE-EB8B73C69E09}.LtcgRelease|Win32.Build.0 = ReleaseLEXE|Win32
+ {15BF93A0-69D3-4723-9FDE-EB8B73C69E09}.LtcgRelease|x64.ActiveCfg = ReleaseLEXE|x64
+ {15BF93A0-69D3-4723-9FDE-EB8B73C69E09}.LtcgRelease|x64.Build.0 = ReleaseLEXE|x64
+ {15BF93A0-69D3-4723-9FDE-EB8B73C69E09}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32
+ {15BF93A0-69D3-4723-9FDE-EB8B73C69E09}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32
+ {15BF93A0-69D3-4723-9FDE-EB8B73C69E09}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64
+ {15BF93A0-69D3-4723-9FDE-EB8B73C69E09}.StaticDebug|x64.Build.0 = DebugSEXE|x64
+ {15BF93A0-69D3-4723-9FDE-EB8B73C69E09}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32
+ {15BF93A0-69D3-4723-9FDE-EB8B73C69E09}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32
+ {15BF93A0-69D3-4723-9FDE-EB8B73C69E09}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64
+ {15BF93A0-69D3-4723-9FDE-EB8B73C69E09}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/builds/msvc/vs2013/libbitcoin/libbitcoin.props b/builds/msvc/vs2013/libbitcoin/libbitcoin.props
index 7f290e8..86ee3df 100644
--- a/builds/msvc/vs2013/libbitcoin/libbitcoin.props
+++ b/builds/msvc/vs2013/libbitcoin/libbitcoin.props
@@ -1,12 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<_PropertySheetDisplayName>Libbitcoin Library Common Settings</_PropertySheetDisplayName>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>false</RunCodeAnalysis>
</PropertyGroup>
+
+ <!-- User Interface -->
+
+ <ItemGroup Label="BuildOptionsExtension">
+ <PropertyPageSchema Include="$(MSBuildThisFileDirectory)$(ProjectName).xml" />
+ </ItemGroup>
+
+ <PropertyGroup>
+ <Option-leveldb>true</Option-leveldb>
+ </PropertyGroup>
+
+ <!-- Configuration -->
<ItemDefinitionGroup>
<ClCompile>
@@ -14,20 +25,41 @@
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<EnablePREfast>false</EnablePREfast>
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Option-testnet)' == 'true'">ENABLE_TESTNET;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Option-leveldb)' == 'true'">LEVELDB_ENABLED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(ConfigurationType)'=='DynamicLibrary'">BC_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <!-- HACK : CURL_STATICLIB should be injected by the cURL package. -->
+ <PreprocessorDefinitions Condition="'$(ConfigurationType)'=='StaticLibrary'">BC_STATIC;CURL_STATICLIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
+
+ <!-- Dependencies -->
+
+ <PropertyGroup Condition="$(Configuration.IndexOf('DLL')) != -1">
+ <Linkage-curl>dynamic</Linkage-curl>
+ <Linkage-zlib>dynamic</Linkage-zlib>
+ <Linkage-openssl>dynamic</Linkage-openssl>
+ <Linkage-libssh2>dynamic</Linkage-libssh2>
+ </PropertyGroup>
+ <PropertyGroup Condition="$(Configuration.IndexOf('LTCG')) != -1">
+ <Linkage-curl>ltcg</Linkage-curl>
+ <Linkage-zlib>ltcg</Linkage-zlib>
+ <Linkage-openssl>ltcg</Linkage-openssl>
+ <Linkage-libssh2>ltcg</Linkage-libssh2>
+ </PropertyGroup>
+ <PropertyGroup Condition="$(Configuration.IndexOf('LIB')) != -1">
+ <Linkage-curl>static</Linkage-curl>
+ <Linkage-zlib>static</Linkage-zlib>
+ <Linkage-openssl>static</Linkage-openssl>
+ <Linkage-libssh2>static</Linkage-libssh2>
+ </PropertyGroup>
- <ItemDefinitionGroup Condition="$(Configuration.IndexOf('Release')) != -1">
- <ClCompile>
- <PreprocessorDefinitions>BITCOIN_DISABLE_ASSERTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
+ <!-- Messages -->
- <ItemDefinitionGroup Condition="'$(ConfigurationType)'=='StaticLibrary'">
- <ClCompile>
- <PreprocessorDefinitions>CURL_STATICLIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
+ <Target Name="OptionInfo" BeforeTargets="PrepareForBuild">
+ <Message Text="Option-leveldb : $(Option-leveldb)" Importance="high"/>
+ <Message Text="Option-testnet : $(Option-testnet)" Importance="high"/>
+ </Target>
<Target Name="LinkageInfo" BeforeTargets="PrepareForBuild">
<Message Text="Linkage-curl : $(Linkage-curl)" Importance="high"/>
diff --git a/builds/msvc/vs2013/libbitcoin/libbitcoin.vcxproj b/builds/msvc/vs2013/libbitcoin/libbitcoin.vcxproj
index b7ff081..1a4ccbe 100644
--- a/builds/msvc/vs2013/libbitcoin/libbitcoin.vcxproj
+++ b/builds/msvc/vs2013/libbitcoin/libbitcoin.vcxproj
@@ -96,13 +96,13 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'">
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(ProjectDir)$(ProjectName).props" />
<Import Project="$(ProjectDir)..\properties\DynamicDebug.props" />
<Import Project="$(ProjectDir)..\properties\Win32.props" />
</ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'">
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(ProjectDir)$(ProjectName).props" />
<Import Project="$(ProjectDir)..\properties\DynamicRelease.props" />
@@ -168,83 +168,6 @@
<Import Project="$(ProjectDir)..\properties\StaticRelease.props" />
<Import Project="$(ProjectDir)..\properties\x64.props" />
</ImportGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugLTCG|Win32'">
- <Linkage-libssh2>ltcg</Linkage-libssh2>
- <Linkage-curl>ltcg</Linkage-curl>
- <Linkage-openssl>ltcg</Linkage-openssl>
- <Linkage-zlib>ltcg</Linkage-zlib>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTCG|Win32'">
- <Linkage-libssh2>ltcg</Linkage-libssh2>
- <Linkage-curl>ltcg</Linkage-curl>
- <Linkage-openssl>ltcg</Linkage-openssl>
- <Linkage-zlib>ltcg</Linkage-zlib>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugLTCG|x64'">
- <Linkage-libssh2>ltcg</Linkage-libssh2>
- <Linkage-curl>ltcg</Linkage-curl>
- <Linkage-openssl>ltcg</Linkage-openssl>
- <Linkage-zlib>ltcg</Linkage-zlib>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTCG|x64'">
- <Linkage-libssh2>ltcg</Linkage-libssh2>
- <Linkage-curl>ltcg</Linkage-curl>
- <Linkage-openssl>ltcg</Linkage-openssl>
- <Linkage-zlib>ltcg</Linkage-zlib>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugLIB|Win32'">
- <Linkage-libssh2>static</Linkage-libssh2>
- <Linkage-curl>static</Linkage-curl>
- <Linkage-openssl>static</Linkage-openssl>
- <Linkage-zlib>static</Linkage-zlib>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLIB|Win32'">
- <Linkage-libssh2>static</Linkage-libssh2>
- <Linkage-curl>static</Linkage-curl>
- <Linkage-openssl>static</Linkage-openssl>
- <Linkage-zlib>static</Linkage-zlib>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugLIB|x64'">
- <Linkage-libssh2>static</Linkage-libssh2>
- <Linkage-curl>static</Linkage-curl>
- <Linkage-openssl>static</Linkage-openssl>
- <Linkage-zlib>static</Linkage-zlib>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLIB|x64'">
- <Linkage-libssh2>static</Linkage-libssh2>
- <Linkage-curl>static</Linkage-curl>
- <Linkage-openssl>static</Linkage-openssl>
- <Linkage-zlib>static</Linkage-zlib>
- </PropertyGroup>
- <ItemGroup Label="BuildOptionsExtension">
- <PropertyPageSchema Include="$(ProjectName).xml" />
- <ClCompile Include="..\..\..\..\src\blockchain\leveldb\leveldb_blockchain.cpp">
- <ExcludedFromBuild Condition="'$(Option-leveldb)' != 'true'">true</ExcludedFromBuild>
- </ClCompile>
- <ClCompile Include="..\..\..\..\src\blockchain\leveldb\leveldb_chain_keeper.cpp">
- <ExcludedFromBuild Condition="'$(Option-leveldb)' != 'true'">true</ExcludedFromBuild>
- </ClCompile>
- <ClCompile Include="..\..\..\..\src\blockchain\leveldb\leveldb_common.cpp">
- <ExcludedFromBuild Condition="'$(Option-leveldb)' != 'true'">true</ExcludedFromBuild>
- </ClCompile>
- <ClCompile Include="..\..\..\..\src\blockchain\leveldb\leveldb_organizer.cpp">
- <ExcludedFromBuild Condition="'$(Option-leveldb)' != 'true'">true</ExcludedFromBuild>
- </ClCompile>
- <ClCompile Include="..\..\..\..\src\blockchain\leveldb\leveldb_validate_block.cpp">
- <ExcludedFromBuild Condition="'$(Option-leveldb)' != 'true'">true</ExcludedFromBuild>
- </ClCompile>
- </ItemGroup>
- <ItemDefinitionGroup>
- <ClCompile>
- <PreprocessorDefinitions Condition="'$(Option-testnet)' == 'true'">ENABLE_TESTNET;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PreprocessorDefinitions Condition="'$(Option-leveldb)' == 'true'">LEVELDB_ENABLED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemGroup>
- <None Include="..\..\..\..\include\bitcoin\impl\serialize\block.ipp" />
- <None Include="..\..\..\..\include\bitcoin\impl\serialize\misc.ipp" />
- <None Include="packages.config" />
- </ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\src\address.cpp" />
<ClCompile Include="..\..\..\..\src\block.cpp" />
@@ -333,6 +256,28 @@
<ClInclude Include="..\..\..\..\src\blockchain\leveldb\leveldb_validate_block.hpp" />
</ItemGroup>
<ItemGroup>
+ <ClCompile Include="..\..\..\..\src\blockchain\leveldb\leveldb_blockchain.cpp">
+ <ExcludedFromBuild Condition="'$(Option-leveldb)' != 'true'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\blockchain\leveldb\leveldb_chain_keeper.cpp">
+ <ExcludedFromBuild Condition="'$(Option-leveldb)' != 'true'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\blockchain\leveldb\leveldb_common.cpp">
+ <ExcludedFromBuild Condition="'$(Option-leveldb)' != 'true'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\blockchain\leveldb\leveldb_organizer.cpp">
+ <ExcludedFromBuild Condition="'$(Option-leveldb)' != 'true'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\src\blockchain\leveldb\leveldb_validate_block.cpp">
+ <ExcludedFromBuild Condition="'$(Option-leveldb)' != 'true'">true</ExcludedFromBuild>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\..\..\..\include\bitcoin\impl\serialize\block.ipp" />
+ <None Include="..\..\..\..\include\bitcoin\impl\serialize\misc.ipp" />
+ <None Include="packages.config" />
+ </ItemGroup>
+ <ItemGroup>
<Text Include="readme.txt" />
</ItemGroup>
<Import Project="..\..\..\..\..\..\nuget\Snappy.1.1.1.7\build\native\Snappy.props" Condition="Exists('..\..\..\..\..\..\nuget\Snappy.1.1.1.7\build\native\Snappy.props')" />
diff --git a/builds/msvc/vs2013/libbitcoin/libbitcoin.xml b/builds/msvc/vs2013/libbitcoin/libbitcoin.xml
index 063a97e..70e37de 100644
--- a/builds/msvc/vs2013/libbitcoin/libbitcoin.xml
+++ b/builds/msvc/vs2013/libbitcoin/libbitcoin.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Build Options Extension -->
<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework">
- <Rule Name="leveldb-uiextension" PageTemplate="tool" DisplayName="Build Options" SwitchPrefix="/" Order="1">
+ <Rule Name="libbitcoin-uiextension" PageTemplate="tool" DisplayName="Bitcoin Options" SwitchPrefix="/" Order="1">
<Rule.Categories>
<Category Name="leveldb" DisplayName="leveldb" />
+ <Category Name="testnet" DisplayName="testnet" />
</Rule.Categories>
<Rule.DataSource>
<DataSource Persistence="ProjectFile" ItemType="" />
@@ -12,14 +12,6 @@
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
- </Rule>
- <Rule Name="testnet-uiextension" PageTemplate="tool" DisplayName="Build Options" SwitchPrefix="/" Order="2">
- <Rule.Categories>
- <Category Name="testnet" DisplayName="testnet" />
- </Rule.Categories>
- <Rule.DataSource>
- <DataSource Persistence="ProjectFile" ItemType="" />
- </Rule.DataSource>
<EnumProperty Name="Option-testnet" DisplayName="Enable Testnet" Description="Enable the Testnet build option" Category="testnet">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
diff --git a/builds/msvc/vs2013/properties/Common.props b/builds/msvc/vs2013/properties/Common.props
index 79b0b6c..2acf2e6 100644
--- a/builds/msvc/vs2013/properties/Common.props
+++ b/builds/msvc/vs2013/properties/Common.props
@@ -1,8 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<_PropertySheetDisplayName>Common Settings</_PropertySheetDisplayName>
<CharacterSet>Unicode</CharacterSet>
<TargetName>$(ProjectName)</TargetName>
diff --git a/builds/msvc/vs2013/properties/Console.props b/builds/msvc/vs2013/properties/Console.props
new file mode 100644
index 0000000..414c98a
--- /dev/null
+++ b/builds/msvc/vs2013/properties/Console.props
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <ImportGroup Label="PropertySheets">
+ <Import Project="Common.props" />
+ </ImportGroup>
+
+ <PropertyGroup>
+ <_PropertySheetDisplayName>Console Application</_PropertySheetDisplayName>
+ </PropertyGroup>
+
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/properties/ConsoleDebugDynamic.props b/builds/msvc/vs2013/properties/ConsoleDebugDynamic.props
new file mode 100644
index 0000000..5872b5c
--- /dev/null
+++ b/builds/msvc/vs2013/properties/ConsoleDebugDynamic.props
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <ImportGroup Label="PropertySheets">
+ <Import Project="Console.props" />
+ <Import Project="Debug.props" />
+ </ImportGroup>
+
+ <PropertyGroup>
+ <_PropertySheetDisplayName>Console Debug Dynamic</_PropertySheetDisplayName>
+ </PropertyGroup>
+
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <!-- Linking CRT dynamically when building a dynamic library is conventional. -->
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <LinkIncremental>true</LinkIncremental>
+ </ClCompile>
+ </ItemDefinitionGroup>
+
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/properties/ConsoleDebugLinkTimeCodeGeneration.props b/builds/msvc/vs2013/properties/ConsoleDebugLinkTimeCodeGeneration.props
new file mode 100644
index 0000000..1e752c2
--- /dev/null
+++ b/builds/msvc/vs2013/properties/ConsoleDebugLinkTimeCodeGeneration.props
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <ImportGroup Label="PropertySheets">
+ <Import Project="Console.props" />
+ <Import Project="Debug.props" />
+ <Import Project="LinkTimeCodeGeneration.props" />
+ </ImportGroup>
+
+ <PropertyGroup>
+ <_PropertySheetDisplayName>Console Debug Link Time Code Generation Library</_PropertySheetDisplayName>
+ </PropertyGroup>
+
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <LinkIncremental>false</LinkIncremental>
+ </ClCompile>
+ </ItemDefinitionGroup>
+
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/properties/ConsoleDebugStatic.props b/builds/msvc/vs2013/properties/ConsoleDebugStatic.props
new file mode 100644
index 0000000..5d72bbc
--- /dev/null
+++ b/builds/msvc/vs2013/properties/ConsoleDebugStatic.props
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <ImportGroup Label="PropertySheets">
+ <Import Project="Console.props" />
+ <Import Project="Debug.props" />
+ </ImportGroup>
+
+ <PropertyGroup>
+ <_PropertySheetDisplayName>Console Debug Static</_PropertySheetDisplayName>
+ </PropertyGroup>
+
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <LinkIncremental>true</LinkIncremental>
+ </ClCompile>
+ </ItemDefinitionGroup>
+
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/properties/ConsoleReleaseDynamic.props b/builds/msvc/vs2013/properties/ConsoleReleaseDynamic.props
new file mode 100644
index 0000000..f15070d
--- /dev/null
+++ b/builds/msvc/vs2013/properties/ConsoleReleaseDynamic.props
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <ImportGroup Label="PropertySheets">
+ <Import Project="Console.props" />
+ <Import Project="Release.props" />
+ </ImportGroup>
+
+ <PropertyGroup>
+ <_PropertySheetDisplayName>Console Release Dynamic</_PropertySheetDisplayName>
+ </PropertyGroup>
+
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <!-- Linking CRT dynamically when building a dynamic library is conventional. -->
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ </ClCompile>
+ </ItemDefinitionGroup>
+
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/properties/ConsoleReleaseLinkTimeCodeGeneration.props b/builds/msvc/vs2013/properties/ConsoleReleaseLinkTimeCodeGeneration.props
new file mode 100644
index 0000000..984891b
--- /dev/null
+++ b/builds/msvc/vs2013/properties/ConsoleReleaseLinkTimeCodeGeneration.props
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <ImportGroup Label="PropertySheets">
+ <Import Project="Console.props" />
+ <Import Project="Release.props" />
+ <Import Project="LinkTimeCodeGeneration.props" />
+ </ImportGroup>
+
+ <PropertyGroup>
+ <_PropertySheetDisplayName>Console Release Link Time Code Generation Library</_PropertySheetDisplayName>
+ </PropertyGroup>
+
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ </ClCompile>
+ </ItemDefinitionGroup>
+
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/properties/ConsoleReleaseStatic.props b/builds/msvc/vs2013/properties/ConsoleReleaseStatic.props
new file mode 100644
index 0000000..2aaf303
--- /dev/null
+++ b/builds/msvc/vs2013/properties/ConsoleReleaseStatic.props
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <ImportGroup Label="PropertySheets">
+ <Import Project="Console.props" />
+ <Import Project="Release.props" />
+ </ImportGroup>
+
+ <PropertyGroup>
+ <_PropertySheetDisplayName>Console Release Static</_PropertySheetDisplayName>
+ </PropertyGroup>
+
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ </ClCompile>
+ </ItemDefinitionGroup>
+
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/properties/Debug.props b/builds/msvc/vs2013/properties/Debug.props
index 7f060f4..a286777 100644
--- a/builds/msvc/vs2013/properties/Debug.props
+++ b/builds/msvc/vs2013/properties/Debug.props
@@ -1,8 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<_PropertySheetDisplayName>Debug Configuration</_PropertySheetDisplayName>
<!-- RootNamespace is used to deconflict output files from differing project versions. -->
<IntDir>$(ProjectDir)..\..\..\..\obj\$(PlatformName)\$(Configuration)\$(RootNamespace)\</IntDir>
diff --git a/builds/msvc/vs2013/properties/Dynamic.props b/builds/msvc/vs2013/properties/Dynamic.props
index 8f57f13..9e74917 100644
--- a/builds/msvc/vs2013/properties/Dynamic.props
+++ b/builds/msvc/vs2013/properties/Dynamic.props
@@ -1,12 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets">
<Import Project="Common.props" />
</ImportGroup>
<PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<_PropertySheetDisplayName>Dynamic Library</_PropertySheetDisplayName>
</PropertyGroup>
diff --git a/builds/msvc/vs2013/properties/DynamicDebug.props b/builds/msvc/vs2013/properties/DynamicDebug.props
index 0395433..ee40a01 100644
--- a/builds/msvc/vs2013/properties/DynamicDebug.props
+++ b/builds/msvc/vs2013/properties/DynamicDebug.props
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets">
<Import Project="Dynamic.props" />
@@ -7,7 +7,6 @@
</ImportGroup>
<PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<_PropertySheetDisplayName>Dynamic Debug Library</_PropertySheetDisplayName>
</PropertyGroup>
diff --git a/builds/msvc/vs2013/properties/DynamicRelease.props b/builds/msvc/vs2013/properties/DynamicRelease.props
index 1b1de61..c3f36f8 100644
--- a/builds/msvc/vs2013/properties/DynamicRelease.props
+++ b/builds/msvc/vs2013/properties/DynamicRelease.props
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets">
<Import Project="Dynamic.props" />
@@ -7,7 +7,6 @@
</ImportGroup>
<PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<_PropertySheetDisplayName>Dynamic Release Library</_PropertySheetDisplayName>
</PropertyGroup>
diff --git a/builds/msvc/vs2013/properties/LinkTimeCodeGeneration.props b/builds/msvc/vs2013/properties/LinkTimeCodeGeneration.props
index 338a970..644462f 100644
--- a/builds/msvc/vs2013/properties/LinkTimeCodeGeneration.props
+++ b/builds/msvc/vs2013/properties/LinkTimeCodeGeneration.props
@@ -1,8 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<_PropertySheetDisplayName>Link Time Code Generation Library</_PropertySheetDisplayName>
</PropertyGroup>
diff --git a/builds/msvc/vs2013/properties/Release.props b/builds/msvc/vs2013/properties/Release.props
index aff972f..c211128 100644
--- a/builds/msvc/vs2013/properties/Release.props
+++ b/builds/msvc/vs2013/properties/Release.props
@@ -1,8 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<_PropertySheetDisplayName>Release Configuration</_PropertySheetDisplayName>
<!-- RootNamespace is used to deconflict output files from differing project versions. -->
<IntDir>$(ProjectDir)..\..\..\..\obj\$(PlatformName)\$(Configuration)\$(RootNamespace)\</IntDir>
diff --git a/builds/msvc/vs2013/properties/Static.props b/builds/msvc/vs2013/properties/Static.props
index 9b30a13..85207e4 100644
--- a/builds/msvc/vs2013/properties/Static.props
+++ b/builds/msvc/vs2013/properties/Static.props
@@ -1,12 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets">
<Import Project="Common.props" />
</ImportGroup>
<PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<_PropertySheetDisplayName>Static Library</_PropertySheetDisplayName>
</PropertyGroup>
diff --git a/builds/msvc/vs2013/properties/StaticDebug.props b/builds/msvc/vs2013/properties/StaticDebug.props
index b5e5ba9..8668424 100644
--- a/builds/msvc/vs2013/properties/StaticDebug.props
+++ b/builds/msvc/vs2013/properties/StaticDebug.props
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets">
<Import Project="Static.props" />
@@ -7,7 +7,6 @@
</ImportGroup>
<PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<_PropertySheetDisplayName>Static Debug Library</_PropertySheetDisplayName>
</PropertyGroup>
diff --git a/builds/msvc/vs2013/properties/StaticDebugLinkTimeCodeGeneration.props b/builds/msvc/vs2013/properties/StaticDebugLinkTimeCodeGeneration.props
index ae5f350..a35e0e7 100644
--- a/builds/msvc/vs2013/properties/StaticDebugLinkTimeCodeGeneration.props
+++ b/builds/msvc/vs2013/properties/StaticDebugLinkTimeCodeGeneration.props
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets">
<Import Project="Debug.props" />
@@ -7,7 +7,6 @@
</ImportGroup>
<PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<_PropertySheetDisplayName>Static Debug Link Time Code Generation Library</_PropertySheetDisplayName>
</PropertyGroup>
diff --git a/builds/msvc/vs2013/properties/StaticLinkTimeCodeGeneration.props b/builds/msvc/vs2013/properties/StaticLinkTimeCodeGeneration.props
index 8009311..6a8d883 100644
--- a/builds/msvc/vs2013/properties/StaticLinkTimeCodeGeneration.props
+++ b/builds/msvc/vs2013/properties/StaticLinkTimeCodeGeneration.props
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets">
<Import Project="Static.props" />
@@ -7,7 +7,6 @@
</ImportGroup>
<PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<_PropertySheetDisplayName>Static Link Time Code Generation Library</_PropertySheetDisplayName>
<!-- This overrides Static.props->Common.props->TargetName and therefore this
diff --git a/builds/msvc/vs2013/properties/StaticRelease.props b/builds/msvc/vs2013/properties/StaticRelease.props
index d7a6058..5eaadae 100644
--- a/builds/msvc/vs2013/properties/StaticRelease.props
+++ b/builds/msvc/vs2013/properties/StaticRelease.props
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets">
<Import Project="Static.props" />
@@ -7,7 +7,6 @@
</ImportGroup>
<PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<_PropertySheetDisplayName>Static Release Library</_PropertySheetDisplayName>
</PropertyGroup>
diff --git a/builds/msvc/vs2013/properties/StaticReleaseLinkTimeCodeGeneration.props b/builds/msvc/vs2013/properties/StaticReleaseLinkTimeCodeGeneration.props
index 668a9e9..4515bef 100644
--- a/builds/msvc/vs2013/properties/StaticReleaseLinkTimeCodeGeneration.props
+++ b/builds/msvc/vs2013/properties/StaticReleaseLinkTimeCodeGeneration.props
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets">
<Import Project="Release.props" />
@@ -7,7 +7,6 @@
</ImportGroup>
<PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<_PropertySheetDisplayName>Static Release Link Time Code Generation Library</_PropertySheetDisplayName>
</PropertyGroup>
diff --git a/builds/msvc/vs2013/properties/Win32.props b/builds/msvc/vs2013/properties/Win32.props
index bc64e84..8d611a0 100644
--- a/builds/msvc/vs2013/properties/Win32.props
+++ b/builds/msvc/vs2013/properties/Win32.props
@@ -1,8 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<_PropertySheetDisplayName>Win32 Settings</_PropertySheetDisplayName>
</PropertyGroup>
diff --git a/builds/msvc/vs2013/properties/x64.props b/builds/msvc/vs2013/properties/x64.props
index 1c750d6..ddf9c14 100644
--- a/builds/msvc/vs2013/properties/x64.props
+++ b/builds/msvc/vs2013/properties/x64.props
@@ -1,8 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<_PropertySheetDisplayName>x64 Settings</_PropertySheetDisplayName>
</PropertyGroup>
diff --git a/examples/accept.cpp b/examples/accept.cpp
index ff62dfe..69284a3 100644
--- a/examples/accept.cpp
+++ b/examples/accept.cpp
@@ -21,6 +21,11 @@
Accept connections from Bitcoin nodes on port 8333.
*/
#include <bitcoin/bitcoin.hpp>
+
+#ifdef _WIN32
+#include <iostream>
+#endif
+
using namespace bc;
using std::placeholders::_1;
diff --git a/examples/connect.cpp b/examples/connect.cpp
index 398c240..649919b 100644
--- a/examples/connect.cpp
+++ b/examples/connect.cpp
@@ -20,6 +20,10 @@
/*
Connect to a Bitcoin node on localhost, port 8333.
*/
+#ifdef _MSC_VER
+#include <iostream>
+#endif
+
#include <bitcoin/bitcoin.hpp>
using namespace bc;
diff --git a/examples/fullnode.cpp b/examples/fullnode.cpp
index b10d268..5ddf225 100644
--- a/examples/fullnode.cpp
+++ b/examples/fullnode.cpp
@@ -22,6 +22,10 @@
"./blockchain/" and initialized using ./initchain
*/
#include <future>
+#ifdef _MSC_VER
+#include <iostream>
+#endif
+
#include <bitcoin/bitcoin.hpp>
using namespace bc;
diff --git a/examples/proto.cpp b/examples/proto.cpp
index 285ebfe..f3ecdfb 100644
--- a/examples/proto.cpp
+++ b/examples/proto.cpp
@@ -99,7 +99,7 @@ int main()
while (!stopped)
{
prot.fetch_connection_count(display_number_of_connections);
- sleep(1);
+ std::this_thread::sleep_for(std::chrono::seconds(1));
}
// Safely close down.
pool.stop();
diff --git a/examples/satoshiwords.cpp b/examples/satoshiwords.cpp
index beb4e62..373ff68 100644
--- a/examples/satoshiwords.cpp
+++ b/examples/satoshiwords.cpp
@@ -20,6 +20,9 @@
/*
Display the genesis block message by Satoshi.
*/
+#ifdef _MSC_VER
+#include <iostream>
+#endif
#include <bitcoin/bitcoin.hpp>
using namespace bc;
diff --git a/examples/txrad.cpp b/examples/txrad.cpp
index bf04e97..5d28140 100644
--- a/examples/txrad.cpp
+++ b/examples/txrad.cpp
@@ -226,7 +226,7 @@ int main()
{
watch.cleanup();
watch.display();
- sleep(10);
+ std::this_thread::sleep_for(std::chrono::seconds(10));
}
// Safely close down.
pool.stop();