[zeromq-dev] Using DRAFT methods of zeromq's build libraries
Arnaud Loonstra
arnaud at sphaero.org
Tue Nov 3 11:25:19 CET 2020
On 02-11-2020 21:05, Luca Boccassi wrote:
> On Mon, 2 Nov 2020 at 19:23, Arnaud Loonstra <arnaud at sphaero.org> wrote:
>>
>> Just a quick question. Would one need to define CZMQ_BUILD_DRAFT_API in
>> their own project in order to use the DRAFT methods?
>>
>> For example using CMake I build the libs like this (paste from appveyor):
>> - cmd: |
>> cd "%LIBZMQ_BUILDDIR%"
>> cmake .. -DBUILD_STATIC=OFF -DBUILD_SHARED=ON
>> -DZMQ_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX="%INSTALL_PREFIX%"
>> cmake --build . --config %Configuration% --target install
>> - cmd: |
>> cd "%CZMQ_BUILDDIR%"
>> cmake .. -DCZMQ_BUILD_STATIC=OFF -DCZMQ_BUILD_SHARED=ON
>> -DCMAKE_PREFIX_PATH="C:\tmp\ci_build" -DCMAKE_INSTALL_PRE
>> FIX="%INSTALL_PREFIX%"
>> cmake --build . --config %Configuration% --target install
>>
>> Draft methods are enabled by default. But when using a draft method I
>> get unresolved external symbols (Windows)
>>
>> This goes away when doing #define CZMQ_BUILD_DRAFT_API before including
>> czmq.h.
>>
>> However I'm questioning this as using make on Linux does not show this
>> and I never have needed to define this.
>>
>> So feature or bug?
>>
>> Rg,
>>
>> Arnaud
>
> Yes - this happens automatically on *nix via pkg-config
Perhaps I could draft a PR to document this better, especially when
using cmake. It's nice this handled by pkg-config but this is not used
on Windows so you'd then need to set it explicitly (-DCZMQ_BUILD_DRAFT_API)?
Or any better suggestions?
Rg,
Arnaud
More information about the zeromq-dev
mailing list