forked from Open-Transactions/opentxs-cmake
/
Findunofficial-zeromq.cmake
92 lines (71 loc) · 2.1 KB
/
Findunofficial-zeromq.cmake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file Copyright.txt or https://cmake.org/licensing for details.
#[=======================================================================[.rst:
FindZeroMQ
-------
Finds the ZeroMQ library.
Imported Targets
^^^^^^^^^^^^^^^^
This module provides the following imported targets, if found:
``libzmq``
The ZeroMQ library
Result Variables
^^^^^^^^^^^^^^^^
This will define the following variables:
``UNOFFICIAL-ZEROMQ_FOUND``
True if the system has the ZeroMQ library.
``ZMQ_VERSION``
The version of the ZeroMQ library which was found.
``ZMQ_INCLUDE_DIRS``
Include directories needed to use ZeroMQ.
``ZMQ_LIBRARIES``
Libraries needed to link to ZeroMQ.
Cache Variables
^^^^^^^^^^^^^^^
The following cache variables may also be set:
``ZMQ_INCLUDE_DIR``
The directory containing ``zmq.h``.
``ZMQ_LIBRARY``
The path to the ZeroMQ library.
#]=======================================================================]
find_package(PkgConfig QUIET)
if(PkgConfig_FOUND)
pkg_check_modules(PC_ZeroMQ QUIET "libzmq")
if(NOT PC_ZeroMQ_FOUND)
pkg_check_modules(PC_ZeroMQ QUIET "zmq")
endif(NOT PC_ZeroMQ_FOUND)
endif()
find_path(
ZMQ_INCLUDE_DIR
NAMES zmq.h
PATHS ${PC_ZeroMQ_INCLUDE_DIRS}
)
find_library(
ZMQ_LIBRARY
NAMES libzmq zmq
PATHS ${PC_ZeroMQ_LIBRARY_DIRS}
)
set(ZMQ_VERSION ${PC_ZeroMQ_VERSION})
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
${CMAKE_FIND_PACKAGE_NAME}
FOUND_VAR UNOFFICIAL-ZEROMQ_FOUND
REQUIRED_VARS ZMQ_LIBRARY ZMQ_INCLUDE_DIR
VERSION_VAR ZMQ_VERSION
)
if(UNOFFICIAL-ZEROMQ_FOUND)
set(ZMQ_LIBRARIES ${ZMQ_LIBRARY})
set(ZMQ_INCLUDE_DIRS ${ZMQ_INCLUDE_DIR})
set(ZMQ_DEFINITIONS ${PC_ZeroMQ_CFLAGS_OTHER})
endif()
if(UNOFFICIAL-ZEROMQ_FOUND AND NOT TARGET libzmq)
add_library(libzmq UNKNOWN IMPORTED)
set_target_properties(
libzmq
PROPERTIES
IMPORTED_LOCATION "${ZMQ_LIBRARY}"
INTERFACE_COMPILE_OPTIONS "${PC_ZeroMQ_CFLAGS_OTHER}"
INTERFACE_INCLUDE_DIRECTORIES "${ZMQ_INCLUDE_DIR}"
)
endif()
mark_as_advanced(ZMQ_INCLUDE_DIR ZMQ_LIBRARY)