mirror of
https://github.com/zeromq/libzmq.git
synced 2024-12-29 00:32:34 +08:00
6a9af8ed62
There is an option to enable/disable libsodium via the Visual Studio UI. This is not practical for command-line usage (via msbuild). Solution: add configure.bat that searches for libsodium in sibling directory to libzmq; if it finds it, defines HAVE_LIBSODIUM 1. This is consistent with zproject, which has the same problem and is getting the same solution for all dependency resolution on Windows. Note that this approach also provides a way to support tweetnacl via a configure option. Also, removed duplicate props files and re-copy in configure.bat as it was an insane nightmare to update these by hand. (and not clear that they were identical. Now it's forced.)
62 lines
3.2 KiB
XML
62 lines
3.2 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
|
|
<PropertyGroup Label="Globals">
|
|
<_PropertySheetDisplayName>ZMQ Import Settings</_PropertySheetDisplayName>
|
|
</PropertyGroup>
|
|
|
|
<!-- User Interface -->
|
|
|
|
<ItemGroup Label="BuildOptionsExtension">
|
|
<PropertyPageSchema Include="$(MSBuildThisFileDirectory)libzmq.import.xml" />
|
|
</ItemGroup>
|
|
|
|
<!-- Configuration -->
|
|
|
|
<ItemDefinitionGroup>
|
|
<ClCompile>
|
|
<PreprocessorDefinitions Condition="'$(Option-openpgm)' == 'true'">ZMQ_HAVE_OPENPGM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<PreprocessorDefinitions Condition="'$(Option-gssapi)' == 'true'">HAVE_LIBGSSAPI_KRB5;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
</ItemDefinitionGroup>
|
|
|
|
<!-- Linkage -->
|
|
|
|
<ItemDefinitionGroup>
|
|
<ClCompile>
|
|
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\..\..\libzmq\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<PreprocessorDefinitions Condition="'$(Linkage-libzmq)' == 'static' Or '$(Linkage-libzmq)' == 'ltcg'">ZMQ_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
<Link>
|
|
<AdditionalDependencies Condition="'$(Linkage-libzmq)' != ''">libzmq.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
<AdditionalLibraryDirectories Condition="$(Configuration.IndexOf('Debug')) != -1">$(ProjectDir)..\..\..\..\..\libzmq\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libzmq)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
|
<AdditionalLibraryDirectories Condition="$(Configuration.IndexOf('Release')) != -1">$(ProjectDir)..\..\..\..\..\libzmq\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libzmq)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
|
|
<!-- Copy -->
|
|
|
|
<Target Name="Linkage-libzmq-dynamic" AfterTargets="AfterBuild" Condition="'$(Linkage-libzmq)' == 'dynamic'">
|
|
<Copy Condition="$(Configuration.IndexOf('Debug')) != -1"
|
|
SourceFiles="$(ProjectDir)..\..\..\..\..\libzmq\bin\$(PlatformName)\Debug\$(PlatformToolset)\dynamic\libzmq.dll"
|
|
DestinationFiles="$(TargetDir)libzmq.dll"
|
|
SkipUnchangedFiles="true" />
|
|
<Copy Condition="$(Configuration.IndexOf('Debug')) != -1"
|
|
SourceFiles="$(ProjectDir)..\..\..\..\..\libzmq\bin\$(PlatformName)\Debug\$(PlatformToolset)\dynamic\libzmq.pdb"
|
|
DestinationFiles="$(TargetDir)libzmq.pdb"
|
|
SkipUnchangedFiles="true" />
|
|
<Copy Condition="$(Configuration.IndexOf('Release')) != -1"
|
|
SourceFiles="$(ProjectDir)..\..\..\..\..\libzmq\bin\$(PlatformName)\Release\$(PlatformToolset)\dynamic\libzmq.dll"
|
|
DestinationFiles="$(TargetDir)libzmq.dll"
|
|
SkipUnchangedFiles="true" />
|
|
</Target>
|
|
|
|
<!-- Messages -->
|
|
|
|
<Target Name="libzmq-info" BeforeTargets="AfterBuild" Condition="'$(Linkage-libzmq)' == 'dynamic'">
|
|
<Message Text="Copying libzmq.dll -> $(TargetDir)libzmq.dll" Importance="high"/>
|
|
<Message Text="Copying libzmq.pdb -> $(TargetDir)libzmq.pdb" Importance="high" Condition="$(Configuration.IndexOf('Debug')) != -1" />
|
|
</Target>
|
|
|
|
</Project>
|