summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorevoskuil <eric@voskuil.org>2014-04-09 10:25:15 (GMT)
committer evoskuil <eric@voskuil.org>2014-04-09 10:25:15 (GMT)
commitd2559c9b01cc325fa4bd4b68f74badbce5c5f401 (patch)
treee3ded9e231f631b045d2e6497de38a4f7d166fc7
parent4cf58803ac9041487953065ebfd2e9cb1f5d8d1e (diff)
Update VS build configuration.
-rw-r--r--builds/msvc/vs2013/libbitcoin.import.props80
-rw-r--r--builds/msvc/vs2013/libbitcoin.import.xml34
-rw-r--r--builds/msvc/vs2013/obelisk.import.props78
-rw-r--r--builds/msvc/vs2013/obelisk.import.xml17
-rw-r--r--builds/msvc/vs2013/obelisk/obelisk.props33
-rw-r--r--builds/msvc/vs2013/obelisk/obelisk.vcxproj4
6 files changed, 230 insertions, 16 deletions
diff --git a/builds/msvc/vs2013/libbitcoin.import.props b/builds/msvc/vs2013/libbitcoin.import.props
new file mode 100644
index 0000000..de926c2
--- /dev/null
+++ b/builds/msvc/vs2013/libbitcoin.import.props
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <PropertyGroup Label="Globals">
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <_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/obelisk.import.props b/builds/msvc/vs2013/obelisk.import.props
new file mode 100644
index 0000000..64c664c
--- /dev/null
+++ b/builds/msvc/vs2013/obelisk.import.props
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <PropertyGroup Label="Globals">
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <_PropertySheetDisplayName>Obelisk Import Settings</_PropertySheetDisplayName>
+ </PropertyGroup>
+
+ <!-- User Interface -->
+
+ <ItemGroup Label="BuildOptionsExtension">
+ <PropertyPageSchema Include="$(MSBuildThisFileDirectory)obelisk.import.xml" />
+ </ItemGroup>
+
+ <!-- Configuration -->
+
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <AdditionalIncludeDirectories>$(ProjectDir)..\..\..\..\..\obelisk\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="$(Configuration.IndexOf('Release')) != -1">BITCOIN_DISABLE_ASSERTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Linkage-obelisk)' == 'static' Or '$(Linkage-obelisk)' == 'ltcg'">OBELISK_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ </ItemDefinitionGroup>
+
+ <!-- Linkage -->
+
+ <ItemDefinitionGroup Condition="'$(Linkage-obelisk)' == 'dynamic'">
+ <Link Condition="$(Configuration.IndexOf('Debug')) != -1">
+ <AdditionalDependencies>$(ProjectDir)..\..\..\..\..\obelisk\bin\$(PlatformName)\Debug\obelisk12\obelisk.imp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ <Link Condition="$(Configuration.IndexOf('Release')) != -1">
+ <AdditionalDependencies>$(ProjectDir)..\..\..\..\..\obelisk\bin\$(PlatformName)\Release\obelisk12\obelisk.imp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+
+ <ItemDefinitionGroup Condition="'$(Linkage-obelisk)' == 'static'">
+ <Link Condition="$(Configuration.IndexOf('Debug')) != -1">
+ <AdditionalDependencies>$(ProjectDir)..\..\..\..\..\obelisk\bin\$(PlatformName)\Debug\obelisk12\obelisk.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ <Link Condition="$(Configuration.IndexOf('Release')) != -1">
+ <AdditionalDependencies>$(ProjectDir)..\..\..\..\..\obelisk\bin\$(PlatformName)\Release\obelisk12\obelisk.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+
+ <ItemDefinitionGroup Condition="'$(Linkage-obelisk)' == 'ltcg'">
+ <Link Condition="$(Configuration.IndexOf('Debug')) != -1">
+ <AdditionalDependencies>$(ProjectDir)..\..\..\..\..\obelisk\bin\$(PlatformName)\Debug\obelisk12\obelisk.ltcg.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ <Link Condition="$(Configuration.IndexOf('Release')) != -1">
+ <AdditionalDependencies>$(ProjectDir)..\..\..\..\..\obelisk\bin\$(PlatformName)\Release\obelisk12\obelisk.ltcg.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+
+ <!-- Copy -->
+
+ <Target Name="Linkage-obelisk-dynamic" AfterTargets="AfterBuild" Condition="'$(Linkage-obelisk)' == 'dynamic'">
+ <Copy Condition="$(Configuration.IndexOf('Debug')) != -1"
+ SourceFiles="$(ProjectDir)..\..\..\..\..\obelisk\bin\$(PlatformName)\Debug\obelisk12\obelisk.dll"
+ DestinationFiles="$(TargetDir)obelisk.dll"
+ SkipUnchangedFiles="true" />
+ <Copy Condition="$(Configuration.IndexOf('Debug')) != -1"
+ SourceFiles="$(ProjectDir)..\..\..\..\..\obelisk\bin\$(PlatformName)\Debug\obelisk12\obelisk.pdb"
+ DestinationFiles="$(TargetDir)obelisk.pdb"
+ SkipUnchangedFiles="true" />
+ <Copy Condition="$(Configuration.IndexOf('Release')) != -1"
+ SourceFiles="$(ProjectDir)..\..\..\..\..\obelisk\bin\$(PlatformName)\Release\obelisk12\obelisk.dll"
+ DestinationFiles="$(TargetDir)obelisk.dll"
+ SkipUnchangedFiles="true" />
+ </Target>
+
+ <!-- Messages -->
+
+ <Target Name="obelisk-info" BeforeTargets="AfterBuild" Condition="'$(Linkage-obelisk)' == 'dynamic'">
+ <Message Text="Copying obelisk.dll -&gt; $(TargetDir)obelisk.dll" Importance="high"/>
+ <Message Text="Copying obelisk.pdb -&gt; $(TargetDir)obelisk.pdb" Importance="high" Condition="$(Configuration.IndexOf('Debug')) != -1" />
+ </Target>
+
+</Project> \ No newline at end of file
diff --git a/builds/msvc/vs2013/obelisk.import.xml b/builds/msvc/vs2013/obelisk.import.xml
new file mode 100644
index 0000000..f90f176
--- /dev/null
+++ b/builds/msvc/vs2013/obelisk.import.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework">
+ <Rule Name="obelisk-linkage-uiextension" PageTemplate="tool" DisplayName="Local Dependencies" SwitchPrefix="/" Order="1">
+ <Rule.Categories>
+ <Category Name="obelisk" DisplayName="obelisk" />
+ </Rule.Categories>
+ <Rule.DataSource>
+ <DataSource Persistence="ProjectFile" ItemType="" />
+ </Rule.DataSource>
+ <EnumProperty Name="Linkage-obelisk" DisplayName="Linkage" Description="How obelisk will be linked into the output of this project" Category="obelisk">
+ <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/obelisk/obelisk.props b/builds/msvc/vs2013/obelisk/obelisk.props
index 2824cb2..cd3ba64 100644
--- a/builds/msvc/vs2013/obelisk/obelisk.props
+++ b/builds/msvc/vs2013/obelisk/obelisk.props
@@ -12,50 +12,54 @@
<ItemDefinitionGroup>
<ClCompile>
- <AdditionalIncludeDirectories>$(ProjectDir)..\..\..\..\include\;%(AdditionalIncludeDirectories);$(ProjectDir)..\..\..\..\..\libbitcoin\include\;(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>$(ProjectDir)..\..\..\..\include\;(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4290;4275;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<EnablePREfast>false</EnablePREfast>
- <PreprocessorDefinitions>LEVELDB_ENABLED;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>_WIN32_WINNT=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(ConfigurationType)'=='StaticLibrary'">OBELISK_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="$(Configuration.IndexOf('Release')) != -1">BITCOIN_DISABLE_ASSERTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
- <Link>
- <AdditionalDependencies>libbitcoin.lib;%(AdditionalDependencies)</AdditionalDependencies>
- </Link>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="$(Configuration.IndexOf('Release')) != -1">
- <ClCompile>
- <PreprocessorDefinitions>BITCOIN_DISABLE_ASSERTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
+ <!-- Dependencies -->
+
+ <ImportGroup Label="PropertySheets">
+ <Import Project="$(SolutionDir)libbitcoin.import.props" />
+ </ImportGroup>
- <!-- Extensions -->
+ <PropertyGroup>
+ <Option-leveldb>true</Option-leveldb>
+ </PropertyGroup>
<PropertyGroup Condition="$(Configuration.IndexOf('DLL')) != -1">
- <Linkage-libconfig>dynamic</Linkage-libconfig>
<Linkage-zlib>dynamic</Linkage-zlib>
<Linkage-openssl>dynamic</Linkage-openssl>
<Linkage-czmqpp>dynamic</Linkage-czmqpp>
<Linkage-czmq>dynamic</Linkage-czmq>
<Linkage-libzmq>dynamic</Linkage-libzmq>
<Linkage-libsodium>dynamic</Linkage-libsodium>
+ <Linkage-libconfig>dynamic</Linkage-libconfig>
+ <Linkage-libbitcoin>dynamic</Linkage-libbitcoin>
</PropertyGroup>
<PropertyGroup Condition="$(Configuration.IndexOf('LTCG')) != -1">
- <Linkage-libconfig>ltcg</Linkage-libconfig>
<Linkage-zlib>ltcg</Linkage-zlib>
<Linkage-openssl>ltcg</Linkage-openssl>
<Linkage-czmqpp>ltcg</Linkage-czmqpp>
<Linkage-czmq>ltcg</Linkage-czmq>
<Linkage-libzmq>ltcg</Linkage-libzmq>
<Linkage-libsodium>ltcg</Linkage-libsodium>
+ <Linkage-libconfig>ltcg</Linkage-libconfig>
+ <Linkage-libbitcoin>ltcg</Linkage-libbitcoin>
</PropertyGroup>
<PropertyGroup Condition="$(Configuration.IndexOf('LIB')) != -1">
- <Linkage-libconfig>static</Linkage-libconfig>
<Linkage-zlib>static</Linkage-zlib>
<Linkage-openssl>static</Linkage-openssl>
<Linkage-czmqpp>static</Linkage-czmqpp>
<Linkage-czmq>static</Linkage-czmq>
<Linkage-libzmq>static</Linkage-libzmq>
<Linkage-libsodium>static</Linkage-libsodium>
+ <Linkage-libconfig>static</Linkage-libconfig>
+ <Linkage-libbitcoin>static</Linkage-libbitcoin>
</PropertyGroup>
<!-- Messages -->
@@ -68,6 +72,7 @@
<Message Text="Linkage-libsodium : $(Linkage-libsodium)" 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>
</Project>
diff --git a/builds/msvc/vs2013/obelisk/obelisk.vcxproj b/builds/msvc/vs2013/obelisk/obelisk.vcxproj
index 75991bd..40d4259 100644
--- a/builds/msvc/vs2013/obelisk/obelisk.vcxproj
+++ b/builds/msvc/vs2013/obelisk/obelisk.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" />