Skip to content

Commit 5f5fb5e

Browse files
committed
Added solution and project files to build with Microsoft Visual Studio 2015
1 parent c775c50 commit 5f5fb5e

File tree

10 files changed

+1308
-2
lines changed

10 files changed

+1308
-2
lines changed

builds/msvc/readme.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ Visual C++ 2008 => Visual C++ 9
44
Visual C++ 2010 => Visual C++ 10
55
Visual C++ 2012 => Visual C++ 11
66
Visual C++ 2013 => Visual C++ 12
7+
Visual C++ 2015 => Visual C++ 14
78

8-
Note that solution file icons reflect the compiler version ([9], [10], [11], [12]), not the product version.
9+
Note that solution file icons reflect the compiler version ([9], [10], [11], [12], [14]), not the product version.
910

10-
The vs2013/vs2012/vs2010 solution and project files differ only in versioning.
11+
The vs2015/vs2013/vs2012/vs2010 solution and project files differ only in versioning.
1112

1213
More info here:
1314

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
4+
<PropertyGroup Label="Globals">
5+
<_PropertySheetDisplayName>Libsodium Import Settings</_PropertySheetDisplayName>
6+
</PropertyGroup>
7+
8+
<!-- User Interface -->
9+
10+
<ItemGroup Label="BuildOptionsExtension">
11+
<PropertyPageSchema Include="$(MSBuildThisFileDirectory)libsodium.import.xml" />
12+
</ItemGroup>
13+
14+
<!-- Linkage -->
15+
16+
<ItemDefinitionGroup>
17+
<ClCompile>
18+
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\..\..\libsodium\src\libsodium\include;$(ProjectDir)..\..\..\..\..\libsodium\src\libsodium\include\sodium\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
19+
<PreprocessorDefinitions Condition="'$(Linkage-libsodium)' == 'static' Or '$(Linkage-libsodium)' == 'ltcg'">SODIUM_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
20+
</ClCompile>
21+
<Link>
22+
<AdditionalDependencies Condition="'$(Linkage-libsodium)' != ''">advapi32.lib;libsodium.lib;%(AdditionalDependencies)</AdditionalDependencies>
23+
<AdditionalLibraryDirectories Condition="$(Configuration.IndexOf('Debug')) != -1">$(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libsodium)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
24+
<AdditionalLibraryDirectories Condition="$(Configuration.IndexOf('Release')) != -1">$(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libsodium)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
25+
</Link>
26+
</ItemDefinitionGroup>
27+
28+
<!-- Copy -->
29+
30+
<Target Name="Linkage-libsodium-dynamic" AfterTargets="AfterBuild" Condition="'$(Linkage-libsodium)' == 'dynamic'">
31+
<Copy Condition="$(Configuration.IndexOf('Debug')) != -1"
32+
SourceFiles="$(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Debug\$(PlatformToolset)\dynamic\libsodium.dll"
33+
DestinationFiles="$(TargetDir)libsodium.dll"
34+
SkipUnchangedFiles="true" />
35+
<Copy Condition="$(Configuration.IndexOf('Debug')) != -1"
36+
SourceFiles="$(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Debug\$(PlatformToolset)\dynamic\libsodium.pdb"
37+
DestinationFiles="$(TargetDir)libsodium.pdb"
38+
SkipUnchangedFiles="true" />
39+
<Copy Condition="$(Configuration.IndexOf('Release')) != -1"
40+
SourceFiles="$(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Release\$(PlatformToolset)\dynamic\libsodium.dll"
41+
DestinationFiles="$(TargetDir)libsodium.dll"
42+
SkipUnchangedFiles="true" />
43+
</Target>
44+
45+
<!-- Messages -->
46+
47+
<Target Name="libsodium-info" BeforeTargets="AfterBuild" Condition="'$(Linkage-libsodium)' == 'dynamic'">
48+
<Message Text="Copying libsodium.dll -&gt; $(TargetDir)libsodium.dll" Importance="high"/>
49+
<Message Text="Copying libsodium.pdb -&gt; $(TargetDir)libsodium.pdb" Importance="high" Condition="$(Configuration.IndexOf('Debug')) != -1" />
50+
</Target>
51+
52+
</Project>
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework">
3+
<Rule Name="libsodium-linkage-uiextension" PageTemplate="tool" DisplayName="Local Dependencies" SwitchPrefix="/" Order="1">
4+
<Rule.Categories>
5+
<Category Name="libsodium" DisplayName="libsodium" />
6+
</Rule.Categories>
7+
<Rule.DataSource>
8+
<DataSource Persistence="ProjectFile" ItemType="" />
9+
</Rule.DataSource>
10+
<EnumProperty Name="Linkage-libsodium" DisplayName="Linkage" Description="How libsodium will be linked into the output of this project" Category="libsodium">
11+
<EnumValue Name="" DisplayName="Not linked" />
12+
<EnumValue Name="dynamic" DisplayName="Dynamic (DLL)" />
13+
<EnumValue Name="static" DisplayName="Static (LIB)" />
14+
<EnumValue Name="ltcg" DisplayName="Static using link time compile generation (LTCG)" />
15+
</EnumProperty>
16+
</Rule>
17+
</ProjectSchemaDefinitions>
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
4+
<PropertyGroup Label="Globals">
5+
<_PropertySheetDisplayName>ZMQ Import Settings</_PropertySheetDisplayName>
6+
</PropertyGroup>
7+
8+
<!-- User Interface -->
9+
10+
<ItemGroup Label="BuildOptionsExtension">
11+
<PropertyPageSchema Include="$(MSBuildThisFileDirectory)libzmq.import.xml" />
12+
</ItemGroup>
13+
14+
<PropertyGroup>
15+
<Option-sodium>true</Option-sodium>
16+
</PropertyGroup>
17+
18+
<!-- Configuration -->
19+
20+
<ItemDefinitionGroup>
21+
<ClCompile>
22+
<PreprocessorDefinitions Condition="'$(Option-openpgm)' == 'true'">ZMQ_HAVE_OPENPGM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
23+
<PreprocessorDefinitions Condition="'$(Option-sodium)' == 'true'">HAVE_LIBSODIUM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
24+
<PreprocessorDefinitions Condition="'$(Option-gssapi)' == 'true'">HAVE_LIBGSSAPI_KRB5;%(PreprocessorDefinitions)</PreprocessorDefinitions>
25+
</ClCompile>
26+
</ItemDefinitionGroup>
27+
28+
<!-- Linkage -->
29+
30+
<ItemDefinitionGroup>
31+
<ClCompile>
32+
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\..\..\libzmq\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
33+
<PreprocessorDefinitions Condition="'$(Linkage-libzmq)' == 'static' Or '$(Linkage-libzmq)' == 'ltcg'">ZMQ_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
34+
</ClCompile>
35+
<Link>
36+
<AdditionalDependencies Condition="'$(Linkage-libzmq)' != ''">libzmq.lib;%(AdditionalDependencies)</AdditionalDependencies>
37+
<AdditionalLibraryDirectories Condition="$(Configuration.IndexOf('Debug')) != -1">$(ProjectDir)..\..\..\..\..\libzmq\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libzmq)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
38+
<AdditionalLibraryDirectories Condition="$(Configuration.IndexOf('Release')) != -1">$(ProjectDir)..\..\..\..\..\libzmq\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libzmq)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
39+
</Link>
40+
</ItemDefinitionGroup>
41+
42+
<!-- Copy -->
43+
44+
<Target Name="Linkage-libzmq-dynamic" AfterTargets="AfterBuild" Condition="'$(Linkage-libzmq)' == 'dynamic'">
45+
<Copy Condition="$(Configuration.IndexOf('Debug')) != -1"
46+
SourceFiles="$(ProjectDir)..\..\..\..\..\libzmq\bin\$(PlatformName)\Debug\$(PlatformToolset)\dynamic\libzmq.dll"
47+
DestinationFiles="$(TargetDir)libzmq.dll"
48+
SkipUnchangedFiles="true" />
49+
<Copy Condition="$(Configuration.IndexOf('Debug')) != -1"
50+
SourceFiles="$(ProjectDir)..\..\..\..\..\libzmq\bin\$(PlatformName)\Debug\$(PlatformToolset)\dynamic\libzmq.pdb"
51+
DestinationFiles="$(TargetDir)libzmq.pdb"
52+
SkipUnchangedFiles="true" />
53+
<Copy Condition="$(Configuration.IndexOf('Release')) != -1"
54+
SourceFiles="$(ProjectDir)..\..\..\..\..\libzmq\bin\$(PlatformName)\Release\$(PlatformToolset)\dynamic\libzmq.dll"
55+
DestinationFiles="$(TargetDir)libzmq.dll"
56+
SkipUnchangedFiles="true" />
57+
</Target>
58+
59+
<!-- Messages -->
60+
61+
<Target Name="libzmq-info" BeforeTargets="AfterBuild" Condition="'$(Linkage-libzmq)' == 'dynamic'">
62+
<Message Text="Copying libzmq.dll -&gt; $(TargetDir)libzmq.dll" Importance="high"/>
63+
<Message Text="Copying libzmq.pdb -&gt; $(TargetDir)libzmq.pdb" Importance="high" Condition="$(Configuration.IndexOf('Debug')) != -1" />
64+
</Target>
65+
66+
</Project>

builds/msvc/vs2015/libzmq.import.xml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework">
3+
<Rule Name="libzmq-options-uiextension" PageTemplate="tool" DisplayName="ZMQ Options" SwitchPrefix="/" Order="1">
4+
<Rule.Categories>
5+
<Category Name="openpgm" DisplayName="openpgm" />
6+
<Category Name="sodium" DisplayName="sodium" />
7+
</Rule.Categories>
8+
<Rule.DataSource>
9+
<DataSource Persistence="ProjectFile" ItemType="" />
10+
</Rule.DataSource>
11+
<EnumProperty Name="Option-openpgm" DisplayName="Enable OpenPGM" Description="Enable the OpenPGM build option" Category="openpgm">
12+
<EnumValue Name="" DisplayName="No" />
13+
<EnumValue Name="true" DisplayName="Yes" />
14+
</EnumProperty>
15+
<EnumProperty Name="Option-sodium" DisplayName="Enable Sodium" Description="Enable the Sodium build option" Category="sodium">
16+
<EnumValue Name="" DisplayName="No" />
17+
<EnumValue Name="true" DisplayName="Yes" />
18+
</EnumProperty>
19+
<EnumProperty Name="Option-gssapi" DisplayName="Enable GSS API" Description="Enable the GSS API build option" Category="gssapi">
20+
<EnumValue Name="" DisplayName="No" />
21+
<EnumValue Name="true" DisplayName="Yes" />
22+
</EnumProperty>
23+
</Rule>
24+
<Rule Name="libzmq-linkage-uiextension" PageTemplate="tool" DisplayName="Local Dependencies" SwitchPrefix="/" Order="1">
25+
<Rule.Categories>
26+
<Category Name="libzmq" DisplayName="libzmq" />
27+
</Rule.Categories>
28+
<Rule.DataSource>
29+
<DataSource Persistence="ProjectFile" ItemType="" />
30+
</Rule.DataSource>
31+
<EnumProperty Name="Linkage-libzmq" DisplayName="Linkage" Description="How libzmq will be linked into the output of this project" Category="libzmq">
32+
<EnumValue Name="" DisplayName="Not linked" />
33+
<EnumValue Name="dynamic" DisplayName="Dynamic (DLL)" />
34+
<EnumValue Name="static" DisplayName="Static (LIB)" />
35+
<EnumValue Name="ltcg" DisplayName="Static using link time compile generation (LTCG)" />
36+
</EnumProperty>
37+
</Rule>
38+
</ProjectSchemaDefinitions>

0 commit comments

Comments
 (0)