Skip to content

ZeroMQConfig.cmake fails if shared libraries are not built #3494

@RochaStratovan

Description

@RochaStratovan

Issue description

I found that the ZeroMQConfig.cmake file will not work if the shared libraries are not created. It will fail with the message

CMake Error at c:/3rdParty/libzmq/INSTALL/CLEAN/CMake/ZeroMQConfig.cmake:46 (get_target_property):
  get_target_property() called with non-existent target "libzmq".
Call Stack (most recent call first):
  CMakeLists.txt:9 (find_package)


CMake Error at C:/3rdParty/libzmq/INSTALL/CLEAN/CMake/ZeroMQConfig.cmake:47 (get_target_property):
  get_target_property() called with non-existent target "libzmq".
Call Stack (most recent call first):
  CMakeLists.txt:9 (find_package)

This configuration was done using the following cmake command line:

cmake -D WITH_PERF_TOOL=OFF -D ZMQ_BUILD_TESTS=OFF -D CMAKE_INSTALL_PREFIX=..\..\INSTALL\CLEAN -D ENABLE_CPACK=OFF -D BUILD_SHARED=OFF ..\..\libzmq-4.3.1

And then attempting to compile CPPZMQ 4.3.0 using the command line:

cmake -D ZeroMQ_DIR=C:/3rdParty/libzmq/INSTALL/CLEAN/CMake ..\cppzmq-4.3.0

I confirmed that if I removed -D BUILD_SHARED=OFF from the ZMQ compile/install then the previous mentioned error would not occur.

Environment

  • libzmq version (commit hash if unreleased): 4.3.1
  • OS: Windows 10

Minimal test code / Steps to reproduce the issue

  1. See description

What's the actual result? (include assertion message & call stack if applicable)

See description.

What's the expected result?

Expected result is that the cmake completes without any error when using find_package() for ZeroMQ.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions