manually merged with ARM version

This commit is contained in:
2025-11-13 17:43:55 +03:00
parent f978759ae0
commit 04015fb4cb
463 changed files with 119514 additions and 45 deletions

View File

@ -0,0 +1,9 @@
find_library(AVAHI_LIBRARY-COMMON NAMES avahi-common)
find_library(AVAHI_LIBRARY-CLIENT NAMES avahi-client)
find_path(AVAHI_INCLUDE_DIR avahi-client/publish.h)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Avahi DEFAULT_MSG AVAHI_LIBRARY-COMMON AVAHI_LIBRARY-CLIENT AVAHI_INCLUDE_DIR)
if(AVAHI_FOUND)
set(AVAHI_LIBRARIES ${AVAHI_LIBRARY-COMMON} ${AVAHI_LIBRARY-CLIENT})
set(AVAHI_INCLUDE_DIRS ${AVAHI_INCLUDE_DIR})
endif()

View File

@ -0,0 +1,64 @@
# - Try to find dnssd library from Bonjour SDK
# Once done this will define
#
# DNSSD_FOUND - system has dnssd library
# DNSSD_INCLUDE_DIRS - the dnssd include directory
# DNSSD_LIBRARIES - Link these to use dnssd library
if(WIN32)
cmake_policy(VERSION 3.2)
endif(WIN32)
if (DNSSD_INCLUDE_DIRS AND DNSSD_LIBRARIES)
# in cache already
set(DNSSD_FOUND TRUE)
message(STATUS "Found dnssd: ${DNSSD_LIBRARIES}, ${DNSSD_INCLUDE_DIRS}")
else (DNSSD_INCLUDE_DIRS AND DNSSD_LIBRARIES)
string(REGEX REPLACE "\\\\" "/" PROGFILES $ENV{PROGRAMFILES})
string(REGEX REPLACE "\\\\" "/" PROGFILESX86 $ENV{PROGRAMFILES\(x86\)})
set(DNSSD_SEARCH_DIRS "${PROGFILES}/Bonjour SDK" "${PROGFILESX86}/Bonjour SDK" ${BONJOUR_ROOT_DIR})
find_path(DNSSD_INCLUDE_DIRS dns_sd.h
PATHS ${DNSSD_SEARCH_DIRS}
PATH_SUFFIXES "Include"
)
if( CMAKE_SIZEOF_VOID_P EQUAL 4 )
set(DNSSD_LIBRARY_PATH_SUFFIX "Lib/Win32")
else()
set(DNSSD_LIBRARY_PATH_SUFFIX "Lib/x64")
endif()
find_library(DNSSD_LIBRARIES NAMES dnssd
PATHS ${DNSSD_SEARCH_DIRS}
PATH_SUFFIXES ${DNSSD_LIBRARY_PATH_SUFFIX}
)
set(CMAKE_REQUIRED_INCLUDES ${DNSSD_INCLUDE_DIRS})
set(CMAKE_REQUIRED_LIBRARIES ${DNSSD_LIBRARIES})
if(DNSSD_INCLUDE_DIRS AND DNSSD_LIBRARIES)
set(DNSSD_FOUND TRUE)
else (DNSSD_INCLUDE_DIRS AND DNSSD_LIBRARIES)
set(DNSSD_FOUND FALSE)
endif(DNSSD_INCLUDE_DIRS AND DNSSD_LIBRARIES)
if (DNSSD_FOUND)
if (NOT DNSSD_FIND_QUIETLY)
message(STATUS "Found dnssd: ${DNSSD_LIBRARIES}, ${DNSSD_INCLUDE_DIRS}")
endif (NOT DNSSD_FIND_QUIETLY)
else (DNSSD_FOUND)
if (DNSSD_FIND_REQUIRED)
message(FATAL_ERROR "dnssd not found!")
endif (DNSSD_FIND_REQUIRED)
endif (DNSSD_FOUND)
mark_as_advanced(DNSSD_INCLUDE_DIRS DNSSD_LIBRARIES)
endif (DNSSD_INCLUDE_DIRS AND DNSSD_LIBRARIES)

View File

@ -0,0 +1,65 @@
if (NOT FFTW3_FOUND)
if(WIN32)
cmake_policy(VERSION 3.2)
endif(WIN32)
if(WIN32)
string(REGEX REPLACE "\\\\" "/" PROGFILES $ENV{PROGRAMFILES})
string(REGEX REPLACE "\\\\" "/" PROGFILESX86 $ENV{PROGRAMFILES\(x86\)})
set(FFTW3_SEARCH_DIRS ${FFTW3_ROOT_DIR} ${PROGFILES} ${PROGFILES}/libs ${PROGFILESX86} ${PROGFILESX86}/libs)
set(FFTW3_SEARCH_INCLUDE_DIRS ${FFTW3_SEARCH_DIRS})
set(FFTW3_SEARCH_LIBRARY_DIRS ${FFTW3_SEARCH_DIRS})
set(FFTW3_SEARCH_INCLUDE_SUFFIX include libfftw3/include fftw3/include)
if("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(FFTW3_SEARCH_LIBRARY_DEF_SUFFIX "msvc")
else(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(FFTW3_SEARCH_LIBRARY_DEF_SUFFIX "msvc64")
endif(CMAKE_SIZEOF_VOID_P EQUAL 4)
else("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(FFTW3_SEARCH_LIBRARY_DEF_SUFFIX "mingw")
else(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(FFTW3_SEARCH_LIBRARY_DEF_SUFFIX "mingw64")
endif(CMAKE_SIZEOF_VOID_P EQUAL 4)
endif("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
set(FFTW3_SEARCH_LIBRARY_SUFFIX "lib/${FFTW3_SEARCH_LIBRARY_DEF_SUFFIX}"
"libfftw3/lib/${FFTW3_SEARCH_LIBRARY_DEF_SUFFIX}"
"fftw3/lib/${FFTW3_SEARCH_LIBRARY_DEF_SUFFIX}")
else(WIN32)
find_package(PkgConfig QUIET)
pkg_check_modules(FFTW3_PKG QUIET libfftw3)
set(FFTW3_SEARCH_INCLUDE_DIRS ${FFTW3_PKG_INCLUDE_DIRS} include local/include)
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(FFTW3_SEARCH_LIBRARY_DIRS lib local/lib lib/i386-linux-gnu)
else(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(FFTW3_SEARCH_LIBRARY_DIRS lib64 lib/x86_64-linux-gnu local/lib64)
endif(CMAKE_SIZEOF_VOID_P EQUAL 4)
endif(WIN32)
find_path(FFTW3_INCLUDE_DIR NAMES fftw3.h
PATHS
${FFTW3_SEARCH_INCLUDE_DIRS}
PATH_SUFFIXES ${FFTW3_SEARCH_INCLUDE_SUFFIX}
)
find_library(FFTW3_LIBRARY NAMES fftw3
PATHS
${FFTW3_SEARCH_LIBRARY_DIRS}
PATH_SUFFIXES ${FFTW3_SEARCH_LIBRARY_SUFFIX}
)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(FFTW3
REQUIRED_VARS FFTW3_INCLUDE_DIR FFTW3_LIBRARY
)
if(FFTW3_FOUND)
set(FFTW3_LIBRARIES ${FFTW3_LIBRARY})
set(FFTW3_INCLUDE_DIRS ${FFTW3_INCLUDE_DIR})
endif(FFTW3_FOUND)
endif (NOT FFTW3_FOUND)

View File

@ -0,0 +1,16 @@
# - Try to find libgpg-error
# Once done this will define
# GPGERROR_FOUND - System has libgpg-error
# GPGERROR_INCLUDE_DIRS - The libgpg-error include directories
# GPGERROR_LIBRARIES - The libraries needed to use libgpg-error
# GPGERROR_DEFINITIONS - Compiler switches required for using libgpg-error
find_path ( GPGERROR_INCLUDE_DIR gpg-error.h )
find_library ( GPGERROR_LIBRARY NAMES gpg-error)
set ( GPGERROR_LIBRARIES ${GPGERROR_LIBRARY} )
set ( GPGERROR_INCLUDE_DIRS ${GPGERROR_INCLUDE_DIR} )
include ( FindPackageHandleStandardArgs )
find_package_handle_standard_args ( libgpg-error DEFAULT_MSG GPGERROR_LIBRARY GPGERROR_INCLUDE_DIR )

View File

@ -0,0 +1,100 @@
# - Find LTRAPI library
# This module defines
# LTRAPI_INCLUDE_DIRS, where to find LTRAPI headers
# LTRAPI_LIBRARIES, the libraries needed to LTRAPI
# LTRAPI_FOUND, If false, do not try to use LTRAPI.
#
# Components: ltrapi, ltrXXXapi (xxx - module number)
#
# On Windows you can specify LTRAPI_ROOT_DIR for root dir of ltrapi installation (if not default)
if (NOT LTRAPI_FOUND)
if(WIN32)
cmake_policy(VERSION 3.2)
endif(WIN32)
#по-умолчанию ищем все компоненты
if(NOT LTRAPI_FIND_COMPONENTS)
set(LTRAPI_FIND_COMPONENTS ltrapi)
endif(NOT LTRAPI_FIND_COMPONENTS)
if(WIN32)
string(REGEX REPLACE "\\\\" "/" PROGFILES $ENV{PROGRAMFILES})
string(REGEX REPLACE "\\\\" "/" PROGFILESX86 $ENV{PROGRAMFILES\(x86\)})
set(LTRAPI_SEARCH_DIRS ${PROGFILES} ${PROGFILESX86} ${LTRAPI_ROOT_DIR})
set(LTRAPI_SEARCH_INCLUDE_DIRS ${LTRAPI_SEARCH_DIRS})
set(LTRAPI_SEARCH_LIBRARY_DIRS ${LTRAPI_SEARCH_DIRS})
set(LTRAPI_SEARCH_INCLUDE_SUFFIX L-Card)
if("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(LTRAPI_SEARCH_LIBRARY_DEF_SUFFIX "msvc")
else(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(LTRAPI_SEARCH_LIBRARY_DEF_SUFFIX "msvc64")
endif(CMAKE_SIZEOF_VOID_P EQUAL 4)
else("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(LTRAPI_SEARCH_LIBRARY_DEF_SUFFIX "mingw")
else(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(LTRAPI_SEARCH_LIBRARY_DEF_SUFFIX "mingw64")
endif(CMAKE_SIZEOF_VOID_P EQUAL 4)
endif("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
set(LTRAPI_SEARCH_LIBRARY_SUFFIX "lib/${LTRAPI_SEARCH_LIBRARY_DEF_SUFFIX}"
"ltr/lib/${LTRAPI_SEARCH_LIBRARY_DEF_SUFFIX}"
"L-Card/ltr/lib/${LTRAPI_SEARCH_LIBRARY_DEF_SUFFIX}")
else(WIN32)
find_package(PkgConfig QUIET)
pkg_check_modules(LTRAPI_PKG QUIET libltrapi1)
set(LTRAPI_SEARCH_INCLUDE_DIRS ${LTRAPI_PKG_INCLUDE_DIRS} include local/include)
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(LTRAPI_SEARCH_LIBRARY_DIRS lib local/lib lib/i386-linux-gnu)
else(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(LTRAPI_SEARCH_LIBRARY_DIRS lib64 lib/x86_64-linux-gnu local/lib64)
endif(CMAKE_SIZEOF_VOID_P EQUAL 4)
endif(WIN32)
foreach(LTRAPI_COMPONENT ${LTRAPI_FIND_COMPONENTS})
find_path(LTRAPI_${LTRAPI_COMPONENT}_INCLUDE_DIR NAMES ltr/include/${LTRAPI_COMPONENT}.h
PATHS
${LTRAPI_SEARCH_INCLUDE_DIRS}
PATH_SUFFIXES ${LTRAPI_SEARCH_INCLUDE_SUFFIX}
)
if (WIN32)
find_library(LTRAPI_${LTRAPI_COMPONENT}_LIBRARY NAMES ${LTRAPI_COMPONENT}
PATHS
${LTRAPI_SEARCH_LIBRARY_DIRS}
PATH_SUFFIXES ${LTRAPI_SEARCH_LIBRARY_SUFFIX}
NO_DEFAULT_PATH
)
else(WIN32)
find_library(LTRAPI_${LTRAPI_COMPONENT}_LIBRARY NAMES ${LTRAPI_COMPONENT}
PATHS
${LTRAPI_SEARCH_LIBRARY_DIRS}
PATH_SUFFIXES ${LTRAPI_SEARCH_LIBRARY_SUFFIX}
)
endif(WIN32)
if (LTRAPI_${LTRAPI_COMPONENT}_INCLUDE_DIR AND LTRAPI_${LTRAPI_COMPONENT}_LIBRARY)
set(LTRAPI_${LTRAPI_COMPONENT}_FOUND TRUE)
set(LTRAPI_COMPONENT_LIBRARIES ${LTRAPI_COMPONENT_LIBRARIES} ${LTRAPI_${LTRAPI_COMPONENT}_LIBRARY})
set(LTRAPI_COMPONENT_INCLUDE_DIRS ${LTRAPI_COMPONENT_INCLUDE_DIRS} ${LTRAPI_${LTRAPI_COMPONENT}_INCLUDE_DIR})
endif()
endforeach()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LTRAPI REQUIRED_VARS
LTRAPI_COMPONENT_LIBRARIES
LTRAPI_COMPONENT_INCLUDE_DIRS
HANDLE_COMPONENTS)
if(LTRAPI_FOUND)
set(LTRAPI_LIBRARIES ${LTRAPI_LIBRARY} ${LTRAPI_COMPONENT_LIBRARIES})
set(LTRAPI_INCLUDE_DIRS ${LTRAPI_INCLUDE_DIR} ${LTRAPI_COMPONENT_INCLUDE_DIRS})
set(LTRAPI_COMPILE_DEFINITIONS LTRAPI_DISABLE_COMPAT_DEFS)
endif(LTRAPI_FOUND)
endif (NOT LTRAPI_FOUND)

View File

@ -0,0 +1,66 @@
if (NOT LIBCBOR_FOUND)
if(WIN32)
cmake_policy(VERSION 3.2)
endif(WIN32)
if(WIN32)
string(REGEX REPLACE "\\\\" "/" PROGFILES $ENV{PROGRAMFILES})
string(REGEX REPLACE "\\\\" "/" PROGFILESX86 $ENV{PROGRAMFILES\(x86\)})
set(LIBCBOR_SEARCH_DIRS ${LIBCBOR_ROOT_DIR} ${PROGFILES} ${PROGFILES}/libs ${PROGFILESX86} ${PROGFILESX86}/libs)
set(LIBCBOR_SEARCH_INCLUDE_DIRS ${LIBCBOR_SEARCH_DIRS})
set(LIBCBOR_SEARCH_LIBRARY_DIRS ${LIBCBOR_SEARCH_DIRS})
set(LIBCBOR_SEARCH_INCLUDE_SUFFIX include libcbor/include cbor/include)
if("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(LIBCBOR_SEARCH_LIBRARY_DEF_SUFFIX "msvc")
else(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(LIBCBOR_SEARCH_LIBRARY_DEF_SUFFIX "msvc64")
endif(CMAKE_SIZEOF_VOID_P EQUAL 4)
else("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(LIBCBOR_SEARCH_LIBRARY_DEF_SUFFIX "mingw")
else(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(LIBCBOR_SEARCH_LIBRARY_DEF_SUFFIX "mingw64")
endif(CMAKE_SIZEOF_VOID_P EQUAL 4)
endif("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
set(LIBCBOR_SEARCH_LIBRARY_SUFFIX "lib/${LIBCBOR_SEARCH_LIBRARY_DEF_SUFFIX}"
"libcbor/lib/${LIBCBOR_SEARCH_LIBRARY_DEF_SUFFIX}"
"cbor/lib/${LIBCBOR_SEARCH_LIBRARY_DEF_SUFFIX}")
else(WIN32)
find_package(PkgConfig QUIET)
pkg_check_modules(LIBCBOR_PKG QUIET libcbor)
set(LIBCBOR_SEARCH_INCLUDE_DIRS ${LIBCBOR_PKG_INCLUDE_DIRS} include local/include)
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(LIBCBOR_SEARCH_LIBRARY_DIRS lib local/lib lib/i386-linux-gnu)
else(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(LIBCBOR_SEARCH_LIBRARY_DIRS lib64 lib/x86_64-linux-gnu local/lib64)
endif(CMAKE_SIZEOF_VOID_P EQUAL 4)
endif(WIN32)
find_path(LIBCBOR_INCLUDE_DIR NAMES cbor.h
PATHS
${LIBCBOR_SEARCH_INCLUDE_DIRS}
PATH_SUFFIXES ${LIBCBOR_SEARCH_INCLUDE_SUFFIX}
)
find_library(LIBCBOR_LIBRARY NAMES cbor libcbor liblibcbor
PATHS
${LIBCBOR_SEARCH_LIBRARY_DIRS}
PATH_SUFFIXES ${LIBCBOR_SEARCH_LIBRARY_SUFFIX}
)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LibCBOR
REQUIRED_VARS LIBCBOR_INCLUDE_DIR LIBCBOR_LIBRARY
)
if(LIBCBOR_FOUND)
set(LIBCBOR_LIBRARIES ${LIBCBOR_LIBRARY})
set(LIBCBOR_INCLUDE_DIRS ${LIBCBOR_INCLUDE_DIR})
endif(LIBCBOR_FOUND)
endif (NOT LIBCBOR_FOUND)

View File

@ -0,0 +1,48 @@
# - Find libusb-1.0 library
# This module defines
# LIBUSB_INCLUDE_DIR, where to find bluetooth.h
# LIBUSB_LIBRARIES, the libraries needed to use libusb-1.0.
# LIBUSB_FOUND, If false, do not try to use libusb-1.0.
#
# Copyright (c) 2009, Michal Cihar, <michal@cihar.com>
#
# vim: expandtab sw=4 ts=4 sts=4:
if (NOT LIBUSB_FOUND)
find_package(PkgConfig QUIET)
pkg_check_modules(LIBUSB_PKG QUIET libusb-1.0)
if( CMAKE_SIZEOF_VOID_P EQUAL 4 )
set(LIBUSB_SEARCH_PATH lib lib/i386-linux-gnu /usr/local/lib "c:/Program Files (x86)/libusb/MS32/static")
else()
set(LIBUSB_SEARCH_PATH lib64 lib/x86_64-linux-gnu /usr/local/lib64 "c:/Program Files (x86)/libusb/MS64/static")
endif()
find_path(LIBUSB_INCLUDE_DIR NAMES libusb-1.0/libusb.h
PATHS
${LIBUSB_PKG_INCLUDE_DIRS}
/usr/include
/usr/local/include
"c:/Program Files (x86)/libusb/include"
)
find_library(LIBUSB_LIBRARIES NAMES usb-1.0 libusb-1.0
PATHS
${LIBUSB_PKG_LIBRARY_DIRS}
/usr/lib
/usr/local/lib
${LIBUSB_SEARCH_PATH}
)
if(LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES)
set(LIBUSB_FOUND TRUE CACHE INTERNAL "libusb-1.0 found")
message(STATUS "Found libusb-1.0: ${LIBUSB_INCLUDE_DIR}, ${LIBUSB_LIBRARIES}")
else(LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES)
set(LIBUSB_FOUND FALSE CACHE INTERNAL "libusb-1.0 found")
message(STATUS "libusb-1.0 not found.")
endif(LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES)
mark_as_advanced(LIBUSB_INCLUDE_DIR LIBUSB_LIBRARIES)
endif (NOT LIBUSB_FOUND)

View File

@ -0,0 +1,42 @@
# - Find libdaemon library
# This module defines
# LIBDAEMON_INCLUDE_DIRS, where to find libdaemon headers
# LIBDAEMON_LIBRARIES, the libraries needed to libdaemon
# LIBDAEMON_FOUND, If false, do not try to use libdaemon.
#
if(NOT LIBDAEMON_FOUND)
find_package(PkgConfig QUIET)
pkg_check_modules(LIBDAEMON_PKG QUIET libdaemon)
set(LIBDAEMON_SEARCH_INCLUDE_DIRS ${LIBDAEMON_PKG_INCLUDE_DIRS} include local/include)
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(LIBDAEMON_SEARCH_LIBRARY_DIRS lib local/lib lib/i386-linux-gnu)
else(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(LIBDAEMON_SEARCH_LIBRARY_DIRS lib64 lib/x86_64-linux-gnu local/lib64)
endif(CMAKE_SIZEOF_VOID_P EQUAL 4)
find_path(LIBDAEMON_INCLUDE_DIR NAMES libdaemon/daemon.h
PATHS
${LIBDAEMON_SEARCH_INCLUDE_DIRS}
PATH_SUFFIXES
)
find_library(LIBDAEMON_LIBRARY NAMES daemon
PATHS
${LIBDAEMON_SEARCH_LIBRARY_DIRS}
PATH_SUFFIXES libdaemon
)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LIBDAEMON
REQUIRED_VARS LIBDAEMON_INCLUDE_DIR LIBDAEMON_LIBRARY
)
if(LIBDAEMON_FOUND)
set(LIBDAEMON_LIBRARIES ${LIBDAEMON_LIBRARY})
set(LIBDAEMON_INCLUDE_DIRS ${LIBDAEMON_INCLUDE_DIR})
endif(LIBDAEMON_FOUND)
endif(NOT LIBDAEMON_FOUND)

View File

@ -0,0 +1,66 @@
find_path ( LIBGCRYPT_INCLUDE_DIR gcrypt.h )
find_library ( LIBGCRYPT_LIBRARY NAMES gcrypt )
if(WIN32)
cmake_policy(VERSION 3.2)
string(REGEX REPLACE "\\\\" "/" PROGFILES $ENV{PROGRAMFILES})
string(REGEX REPLACE "\\\\" "/" PROGFILESX86 $ENV{PROGRAMFILES\(x86\)})
set(LIBGCRYPT_SEARCH_DIRS ${LIBGCRYPT_ROOT_DIR} ${PROGFILES} ${PROGFILES}/libs ${PROGFILESX86} ${PROGFILESX86}/libs)
set(LIBGCRYPT_SEARCH_INCLUDE_DIRS ${LIBGCRYPT_SEARCH_DIRS})
set(LIBGCRYPT_SEARCH_LIBRARY_DIRS ${LIBGCRYPT_SEARCH_DIRS})
set(LIBGCRYPT_SEARCH_INCLUDE_SUFFIX include libgcrypt/include gcrypt/include)
if("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(LIBGCRYPT_SEARCH_LIBRARY_DEF_SUFFIX "msvc")
else(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(LIBGCRYPT_SEARCH_LIBRARY_DEF_SUFFIX "msvc64")
endif(CMAKE_SIZEOF_VOID_P EQUAL 4)
else("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(LIBGCRYPT_SEARCH_LIBRARY_DEF_SUFFIX "mingw")
else(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(LIBGCRYPT_SEARCH_LIBRARY_DEF_SUFFIX "mingw64")
endif(CMAKE_SIZEOF_VOID_P EQUAL 4)
endif("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
set(LIBGCRYPT_SEARCH_LIBRARY_SUFFIX "lib/${LIBGCRYPT_SEARCH_LIBRARY_DEF_SUFFIX}"
"libgcrypt/lib/${LIBGCRYPT_SEARCH_LIBRARY_DEF_SUFFIX}"
"gcrypt/lib/${LIBGCRYPT_SEARCH_LIBRARY_DEF_SUFFIX}")
else(WIN32)
find_package(PkgConfig QUIET)
pkg_check_modules(LIBGCRYPT_PKG QUIET libgcrypt)
set(LIBGCRYPT_SEARCH_INCLUDE_DIRS ${LIBGCRYPT_PKG_INCLUDE_DIRS} include local/include)
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(LIBGCRYPT_SEARCH_LIBRARY_DIRS lib local/lib lib/i386-linux-gnu)
else(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(LIBGCRYPT_SEARCH_LIBRARY_DIRS lib64 lib/x86_64-linux-gnu local/lib64)
endif(CMAKE_SIZEOF_VOID_P EQUAL 4)
endif(WIN32)
find_path(LIBGCRYPT_INCLUDE_DIR NAMES gcrypt.h
PATHS
${LIBGCRYPT_SEARCH_INCLUDE_DIRS}
PATH_SUFFIXES ${LIBGCRYPT_SEARCH_INCLUDE_SUFFIX}
)
find_library(LIBGCRYPT_LIBRARY NAMES gcrypt
PATHS
${LIBGCRYPT_SEARCH_LIBRARY_DIRS}
PATH_SUFFIXES ${LIBGCRYPT_SEARCH_LIBRARY_SUFFIX}
)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Libgcrypt
REQUIRED_VARS LIBGCRYPT_LIBRARY LIBGCRYPT_INCLUDE_DIR
)
if(LIBGCRYPT_FOUND)
set(LIBGCRYPT_LIBRARIES ${LIBGCRYPT_LIBRARY})
set(LIBGCRYPT_INCLUDE_DIRS ${LIBGCRYPT_INCLUDE_DIR})
endif(LIBGCRYPT_FOUND)

View File

@ -0,0 +1,173 @@
# базовая директория может быть задана с помощью переменной cmake MKL_ROOT (самый высокий приоритет)
# или с помощью переменной окружения MKL_ROOT.
# Если MKL_ROOT не задан, то ищет в стандартных путях:
# на Windows в Program Files или Program Files (x86) в директории Intel/oneAPI/mkl/latest
# на Linux в штатных путях (в корне или /usr)
#
# использует tbb threading model, соглашение ILP64 на 64 битах, cdecl на 32
# (при необходимости можно добавить опции...)
# можно задать пользовательскую версию библитеки
# (если создана своя версия с подможеством функций с помощью intel compiler):
# MKL_CUSTOM_LIBRARY_NAME - имя библиотеки
# MKL_CUSTOM_LIBRARY_DIR - путь к пользовательской библиотеки без lib/<сиффикс> (может быть вне MKL_ROOT)
# Заголовочные файлы в этом случае сперва ищутся в ${MKL_CUSTOM_LIBRARY_DIR}/include, а затем уже внутри MKL_ROOT
# в первую очередь пытаемся найти mkl с помощью pkgconfig, если применимо
if (NOT MKL_FOUND)
if(NOT WIN32 AND NOT MKL_CUSTOM_LIBRARY_NAME AND NOT MKL_ROOT)
find_package(PkgConfig QUIET)
if(PkgConfig_FOUND)
#ищем среди разных реализаций потоков в порядке приоритета
pkg_check_modules(MKL QUIET mkl-dynamic-ilp64-tbb)
if (NOT MKL_FOUND)
pkg_check_modules(MKL QUIET mkl-dynamic-ilp64-iomp)
endif(NOT MKL_FOUND)
if (NOT MKL_FOUND)
pkg_check_modules(MKL QUIET mkl-dynamic-ilp64-seq)
endif(NOT MKL_FOUND)
endif(PkgConfig_FOUND)
endif()
endif(NOT MKL_FOUND)
# если не нашли через PkgConfig, то ищмем самостоятельно
if (NOT MKL_FOUND)
macro(MKL_FIND_LIBRARY LIB_VAR LIB_FILE_NAME)
find_library(${LIB_VAR} NAMES ${LIB_FILE_NAME}
PATHS
${MKL_SEARCH_LIBRARY_DIRS}
PATH_SUFFIXES ${MKL_SEARCH_LIBRARY_DIR_SUFFIX}
)
get_filename_component(LIB_DIR ${${LIB_VAR}} DIRECTORY)
get_filename_component(LIB_NAME ${${LIB_VAR}} NAME)
if (${LIB_DIR} IN_LIST MKL_LIBRARY_DIRS)
else()
set(MKL_LIBRARY_DIRS ${MKL_LIBRARY_DIRS} ${LIB_DIR})
endif()
set(MKL_REQIRED_LIBS ${MKL_REQIRED_LIBS} ${LIB_VAR})
endmacro()
if(WIN32)
cmake_policy(VERSION 3.2)
# в переменных окружения могут быть пути с разделителем \.
# если пыти с разными разделителями, то могут быть проблемы, поэтому переводим
# все к /
if(NOT MKL_ROOT)
set(set MKL_ROOT $ENV{MKLROOT})
endif(NOT MKL_ROOT)
if(MKL_ROOT)
string(REGEX REPLACE "\\\\" "/" MKL_ROOT MKL_ROOT)
endif(MKL_ROOT)
string(REGEX REPLACE "\\\\" "/" PROGFILES $ENV{PROGRAMFILES})
string(REGEX REPLACE "\\\\" "/" PROGFILESX86 $ENV{PROGRAMFILES\(x86\)})
if(MKL_ROOT)
set(MKL_SEARCH_DIRS ${MKL_ROOT})
else(MKL_ROOT)
set(MKL_WINSTD_DIR "Intel/oneAPI/mkl/latest")
set(MKL_SEARCH_DIRS "${PROGFILES}/${MKL_WINSTD_DIR}" "${PROGFILESX86}/${MKL_WINSTD_DIR}")
endif(MKL_ROOT)
set(MKL_SEARCH_INCLUDE_DIRS ${MKL_SEARCH_DIRS})
set(MKL_SEARCH_LIBRARY_DIRS ${MKL_SEARCH_DIRS})
set(MKL_SEARCH_INCLUDE_DIR_SUFFIX include)
if("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(MKL_SEARCH_LIBRARY_DEF_SUFFIX "ia32_win")
else(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(MKL_SEARCH_LIBRARY_DEF_SUFFIX "intel64_win")
endif(CMAKE_SIZEOF_VOID_P EQUAL 4)
endif("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
set(MKL_SEARCH_LIBRARY_DIR_SUFFIX "lib/${MKL_SEARCH_LIBRARY_DEF_SUFFIX}")
#todo возможно сделать опцию, static или dll
set(MKL_LIB_FILE_SUFFIX "_dll")
else(WIN32)
if(NOT MKL_ROOT)
set(MKL_ROOT $ENV{MKLROOT})
endif(NOT MKL_ROOT)
if (MKL_ROOT)
set(MKL_SEARCH_INCLUDE_DIRS ${MKL_ROOT}/include)
else(MKL_ROOT)
set(MKL_SEARCH_INCLUDE_DIRS include local/include)
endif(MKL_ROOT)
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
if (MKL_ROOT)
set(MKL_SEARCH_LIBRARY_DIRS ${MKL_ROOT}/lib)
else (MKL_ROOT)
set(MKL_SEARCH_LIBRARY_DIRS lib local/lib lib/i386-linux-gnu)
endif(MKL_ROOT)
elseif(CMAKE_SIZEOF_VOID_P EQUAL 8)
if (MKL_ROOT)
set(MKL_SEARCH_LIBRARY_DIRS ${MKL_ROOT}/lib64 ${MKL_ROOT}/lib/intel64)
else(MKL_ROOT)
set(MKL_SEARCH_LIBRARY_DIRS lib64 lib/x86_64-linux-gnu local/lib64)
endif(MKL_ROOT)
#взято из готового примера - проверить необходимость
set(ABI "-m64")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ABI}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ABI}")
endif(CMAKE_SIZEOF_VOID_P EQUAL 4)
endif(WIN32)
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
#todo возможно сделать опцию выбора между ILP64 и LP64 (MKL_LONG 64 или 32)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DMKL_ILP64")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DMKL_ILP64")
endif(CMAKE_SIZEOF_VOID_P EQUAL 8)
if(MKL_CUSTOM_LIBRARY_DIR)
set(MKL_SEARCH_INCLUDE_DIRS ${MKL_CUSTOM_LIBRARY_DIR} ${MKL_SEARCH_INCLUDE_DIRS})
endif(MKL_CUSTOM_LIBRARY_DIR)
find_path(MKL_INCLUDE_DIR NAMES mkl.h
PATHS
${MKL_SEARCH_INCLUDE_DIRS}
PATH_SUFFIXES ${MKL_SEARCH_INCLUDE_DIR_SUFFIX}
)
if (NOT MKL_CUSTOM_LIBRARY_NAME)
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
MKL_FIND_LIBRARY(MKL_INTERFACE_LIBRARY mkl_intel_c${MKL_LIB_FILE_SUFFIX})
elseif(CMAKE_SIZEOF_VOID_P EQUAL 8)
MKL_FIND_LIBRARY(MKL_INTERFACE_LIBRARY mkl_intel_ilp64${MKL_LIB_FILE_SUFFIX})
endif(CMAKE_SIZEOF_VOID_P EQUAL 4)
MKL_FIND_LIBRARY(MKL_CORE_LIBRARY mkl_core${MKL_LIB_FILE_SUFFIX})
MKL_FIND_LIBRARY(MKL_THREAD_LIBRARY mkl_tbb_thread${MKL_LIB_FILE_SUFFIX})
if(NOT WIN32)
MKL_FIND_LIBRARY(MKL_TBB_LIBRARY tbb)
endif(NOT WIN32)
else(NOT MKL_CUSTOM_LIBRARY_NAME)
set(MKL_SEARCH_LIBRARY_DIRS ${MKL_SEARCH_LIBRARY_DIRS} ${MKL_CUSTOM_LIBRARY_DIR})
MKL_FIND_LIBRARY(MKL_CUSTOM_LIBRARY ${MKL_CUSTOM_LIBRARY_NAME})
endif(NOT MKL_CUSTOM_LIBRARY_NAME)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(MKL
REQUIRED_VARS MKL_INCLUDE_DIR ${MKL_REQIRED_LIBS}
)
if(MKL_FOUND)
foreach(MKL_LIB ${MKL_REQIRED_LIBS})
set(MKL_LIBRARIES ${MKL_LIBRARIES} ${${MKL_LIB}})
endforeach()
set(MKL_INCLUDE_DIRS ${MKL_INCLUDE_DIR})
endif(MKL_FOUND)
endif()

View File

@ -0,0 +1,55 @@
# - Try to find libmodbus
# Once done this will define
#
# MODBUS_FOUND - system has MODBUS
# MODBUS_INCLUDE_DIRS - the MODBUS include directory
# MODBUS_LIBRARIES - Link these to use MODBUS
# Copyright (c) 2006, Jasem Mutlaq <mutlaqja@ikarustech.com>
# Based on FindLibfacile by Carsten Niehaus, <cniehaus@gmx.de>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
if (MODBUS_INCLUDE_DIRS AND MODBUS_LIBRARIES)
# in cache already
set(MODBUS_FOUND TRUE)
message(STATUS "Found libmodbus: ${MODBUS_LIBRARIES}")
else (MODBUS_INCLUDE_DIRS AND MODBUS_LIBRARIES)
find_path(MODBUS_INCLUDE_DIRS modbus.h
PATH_SUFFIXES modbus
${_obIncDir}
${GNUWIN32_DIR}/include
)
find_library(MODBUS_LIBRARIES NAMES modbus
PATHS
${_obLinkDir}
${GNUWIN32_DIR}/lib
)
set(CMAKE_REQUIRED_INCLUDES ${MODBUS_INCLUDE_DIRS})
set(CMAKE_REQUIRED_LIBRARIES ${MODBUS_LIBRARIES})
if(MODBUS_INCLUDE_DIRS AND MODBUS_LIBRARIES)
set(MODBUS_FOUND TRUE)
else (MODBUS_INCLUDE_DIRS AND MODBUS_LIBRARIES)
set(MODBUS_FOUND FALSE)
endif(MODBUS_INCLUDE_DIRS AND MODBUS_LIBRARIES)
if (MODBUS_FOUND)
if (NOT MODBUS_FIND_QUIETLY)
message(STATUS "Found libmodbus: ${MODBUS_LIBRARIES}")
endif (NOT MODBUS_FIND_QUIETLY)
else (MODBUS_FOUND)
if (MODBUS_FIND_REQUIRED)
message(FATAL_ERROR "libmodbus not found. Please install libmodbus from http://libmodbus.org/")
endif (MODBUS_FIND_REQUIRED)
endif (MODBUS_FOUND)
mark_as_advanced(MODBUS_INCLUDE_DIRS MODBUS_LIBRARIES)
endif (MODBUS_INCLUDE_DIRS AND MODBUS_LIBRARIES)

View File

@ -0,0 +1,110 @@
# - Find x502api library
# This module defines
# X502API_INCLUDE_DIRS, where to find x502api headers
# X502API_LIBRARIES, the libraries needed to x502api
# X502API_FOUND, If false, do not try to use x502api.
#
# Components: l502api e502api (all enabled if not specified)
#
# On Windows you can specify LPCIE_ROOT_DIR for root dir of lpcie (if not default)
if (NOT X502API_FOUND)
if(WIN32)
cmake_policy(VERSION 3.2)
endif(WIN32)
set(X502API_SUPPORTED_COMPONENTS x502api l502api e502api)
#по-умолчанию ищем все компоненты
if(NOT X502API_FIND_COMPONENTS)
set(X502API_FIND_COMPONENTS ${X502API_SUPPORTED_COMPONENTS})
else(NOT X502API_FIND_COMPONENTS)
set(X502API_FIND_COMPONENTS x502api ${X502API_FIND_COMPONENTS})
endif(NOT X502API_FIND_COMPONENTS)
if(WIN32)
string(REGEX REPLACE "\\\\" "/" PROGFILES $ENV{PROGRAMFILES})
string(REGEX REPLACE "\\\\" "/" PROGFILESX86 $ENV{PROGRAMFILES\(x86\)})
set(X502API_SEARCH_DIRS ${PROGFILES} ${PROGFILESX86} ${LPCIE_ROOT_DIR})
set(X502API_SEARCH_INCLUDE_DIRS ${X502API_SEARCH_DIRS})
set(X502API_SEARCH_LIBRARY_DIRS ${X502API_SEARCH_DIRS})
set(X502API_SEARCH_INCLUDE_SUFFIX L-Card/lpcie/include include)
if("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(X502API_SEARCH_LIBRARY_DEF_SUFFIX "msvc")
else(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(X502API_SEARCH_LIBRARY_DEF_SUFFIX "msvc64")
endif(CMAKE_SIZEOF_VOID_P EQUAL 4)
else("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(X502API_SEARCH_LIBRARY_DEF_SUFFIX "mingw")
else(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(X502API_SEARCH_LIBRARY_DEF_SUFFIX "mingw64")
endif(CMAKE_SIZEOF_VOID_P EQUAL 4)
endif("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
set(X502API_SEARCH_LIBRARY_SUFFIX "lib/${X502API_SEARCH_LIBRARY_DEF_SUFFIX}"
"L-Card/lpcie/lib/${X502API_SEARCH_LIBRARY_DEF_SUFFIX}")
else(WIN32)
find_package(PkgConfig QUIET)
pkg_check_modules(X502API_PKG QUIET libx502api1)
set(X502API_SEARCH_INCLUDE_DIRS ${X502API_PKG_INCLUDE_DIRS} include local/include)
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(X502API_SEARCH_LIBRARY_DIRS lib local/lib lib/i386-linux-gnu)
else(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(X502API_SEARCH_LIBRARY_DIRS lib64 lib/x86_64-linux-gnu local/lib64)
endif(CMAKE_SIZEOF_VOID_P EQUAL 4)
endif(WIN32)
foreach(X502API_COMPONENT ${X502API_FIND_COMPONENTS})
list(FIND X502API_SUPPORTED_COMPONENTS ${X502API_COMPONENT} X502API_COMPONENT_IDX)
if(${X502API_COMPONENT_IDX}_IDX EQUAL -1)
message(WARNING "x502api: unsupported component ${X502API_COMPONENT}")
else()
find_path(X502API_${X502API_COMPONENT}_INCLUDE_DIR NAMES ${X502API_COMPONENT}.h
PATHS
${X502API_SEARCH_INCLUDE_DIRS}
PATH_SUFFIXES ${X502API_SEARCH_INCLUDE_SUFFIX}
)
if (WIN32)
find_library(X502API_${X502API_COMPONENT}_LIBRARY NAMES ${X502API_COMPONENT}
PATHS
${X502API_SEARCH_LIBRARY_DIRS}
PATH_SUFFIXES ${X502API_SEARCH_LIBRARY_SUFFIX}
NO_DEFAULT_PATH
)
else(WIN32)
find_library(X502API_${X502API_COMPONENT}_LIBRARY NAMES ${X502API_COMPONENT}
PATHS
${X502API_SEARCH_LIBRARY_DIRS}
PATH_SUFFIXES ${X502API_SEARCH_LIBRARY_SUFFIX}
)
endif(WIN32)
if (X502API_${X502API_COMPONENT}_INCLUDE_DIR AND X502API_${X502API_COMPONENT}_LIBRARY)
set(X502API_${X502API_COMPONENT}_FOUND TRUE)
set(X502API_COMPONENT_LIBRARIES ${X502API_COMPONENT_LIBRARIES} ${X502API_${X502API_COMPONENT}_LIBRARY})
set(X502API_COMPONENT_INCLUDE_DIRS ${X502API_COMPONENT_INCLUDE_DIRS} ${X502API_${X502API_COMPONENT}_INCLUDE_DIR})
endif()
endif()
endforeach()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(X502API REQUIRED_VARS
X502API_COMPONENT_LIBRARIES
X502API_COMPONENT_INCLUDE_DIRS
HANDLE_COMPONENTS)
if(X502API_FOUND)
set(X502API_LIBRARIES ${X502API_LIBRARY} ${X502API_COMPONENT_LIBRARIES})
set(X502API_INCLUDE_DIRS ${X502API_INCLUDE_DIR} ${X502API_COMPONENT_INCLUDE_DIRS})
endif(X502API_FOUND)
endif (NOT X502API_FOUND)

View File

@ -0,0 +1,52 @@
# - Try to find libmodbus
# Once done this will define
#
# XLSXWRITER_FOUND - system has XLSXWRITER
# XLSXWRITER_INCLUDE_DIRS - the XLSXWRITER include directory
# XLSXWRITER_LIBRARIES - Link these to use XLSXWRITER
# Copyright (c) 2006, Jasem Mutlaq <mutlaqja@ikarustech.com>
# Based on FindLibfacile by Carsten Niehaus, <cniehaus@gmx.de>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
if (XLSXWRITER_INCLUDE_DIRS AND XLSXWRITER_LIBRARIES)
# in cache already
set(XLSXWRITER_FOUND TRUE)
message(STATUS "Found libxlsxwriter: ${XLSXWRITER_LIBRARIES}")
else (XLSXWRITER_INCLUDE_DIRS AND XLSXWRITER_LIBRARIES)
find_path(XLSXWRITER_INCLUDE_DIRS xlsxwriter.h
PATH_SUFFIXES xlsxwriter
${_obIncDir}
${GNUWIN32_DIR}/include
)
find_library(XLSXWRITER_LIBRARIES NAMES xlsxwriter
PATHS
${_obLinkDir}
${GNUWIN32_DIR}/lib
)
set(CMAKE_REQUIRED_INCLUDES ${XLSXWRITER_INCLUDE_DIRS})
set(CMAKE_REQUIRED_LIBRARIES ${XLSXWRITER_LIBRARIES})
if(XLSXWRITER_INCLUDE_DIRS AND XLSXWRITER_LIBRARIES)
set(XLSXWRITER_FOUND TRUE)
else (XLSXWRITER_INCLUDE_DIRS AND XLSXWRITER_LIBRARIES)
set(XLSXWRITER_FOUND FALSE)
endif(XLSXWRITER_INCLUDE_DIRS AND XLSXWRITER_LIBRARIES)
if (XLSXWRITER_FOUND)
if (NOT XLSXWRITER_FIND_QUIETLY)
message(STATUS "Foud llibxlsxwriter: ${XLSXWRITER_LIBRARIES}")
endif (NOT XLSXWRITER_FIND_QUIETLY)
else (XLSXWRITER_FOUND)
if (XLSXWRITER_FIND_REQUIRED)
message(FATAL_ERROR "llibxlsxwriter not found.")
endif (XLSXWRITER_FIND_REQUIRED)
endif (XLSXWRITER_FOUND)
mark_as_advanced(XLSXWRITER_INCLUDE_DIRS XLSXWRITER_LIBRARIES)
endif (XLSXWRITER_INCLUDE_DIRS AND XLSXWRITER_LIBRARIES)

View File

@ -0,0 +1,17 @@
# - Try to find ZMQ
# Once done this will define
# ZMQ_FOUND - System has ZMQ
# ZMQ_INCLUDE_DIRS - The ZMQ include directories
# ZMQ_LIBRARIES - The libraries needed to use ZMQ
# ZMQ_DEFINITIONS - Compiler switches required for using ZMQ
find_path ( ZMQ_INCLUDE_DIR zmq.h )
find_library ( ZMQ_LIBRARY NAMES zmq )
set ( ZMQ_LIBRARIES ${ZMQ_LIBRARY} )
set ( ZMQ_INCLUDE_DIRS ${ZMQ_INCLUDE_DIR} )
include ( FindPackageHandleStandardArgs )
# handle the QUIETLY and REQUIRED arguments and set ZMQ_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args ( ZMQ DEFAULT_MSG ZMQ_LIBRARY ZMQ_INCLUDE_DIR )