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