FindZeroMQ.cmake raw
1 # Copyright (c) 2024-present The Bitcoin Core developers
2 # Distributed under the MIT software license, see the accompanying
3 # file COPYING or https://opensource.org/license/mit/.
4
5 #[=======================================================================[
6 FindZeroMQ
7 ----------
8
9 Finds the ZeroMQ headers and library.
10
11 This is a wrapper around find_package()/pkg_check_modules() commands that:
12 - facilitates searching in various build environments
13 - prints a standard log message
14
15 #]=======================================================================]
16
17 include(FindPackageHandleStandardArgs)
18 find_package(ZeroMQ ${ZeroMQ_FIND_VERSION} NO_MODULE QUIET)
19 if(ZeroMQ_FOUND)
20 find_package_handle_standard_args(ZeroMQ
21 REQUIRED_VARS ZeroMQ_DIR
22 VERSION_VAR ZeroMQ_VERSION
23 )
24 if(TARGET libzmq)
25 add_library(zeromq ALIAS libzmq)
26 elseif(TARGET libzmq-static)
27 add_library(zeromq ALIAS libzmq-static)
28 endif()
29 mark_as_advanced(ZeroMQ_DIR)
30 else()
31 find_package(PkgConfig REQUIRED)
32 pkg_check_modules(libzmq QUIET
33 IMPORTED_TARGET
34 libzmq>=${ZeroMQ_FIND_VERSION}
35 )
36 find_package_handle_standard_args(ZeroMQ
37 REQUIRED_VARS libzmq_LIBRARY_DIRS
38 VERSION_VAR libzmq_VERSION
39 )
40 add_library(zeromq ALIAS PkgConfig::libzmq)
41 endif()
42