mirror of
https://github.com/ZoneMinder/zoneminder.git
synced 2025-12-23 22:37:53 -05:00
Adds ONVIF Motion Detection Support
This commit is contained in:
113
cmake/Modules/FindGSOAP.cmake
Normal file
113
cmake/Modules/FindGSOAP.cmake
Normal file
@@ -0,0 +1,113 @@
|
||||
#
|
||||
# This module detects if gsoap is installed and determines where the
|
||||
# include files and libraries are.
|
||||
#
|
||||
# This code sets the following variables:
|
||||
#
|
||||
# GSOAP_IMPORT_DIR = full path to the gsoap import directory
|
||||
# GSOAP_LIBRARIES = full path to the gsoap libraries
|
||||
# GSOAP_SSL_LIBRARIES = full path to the gsoap ssl libraries
|
||||
# GSOAP_INCLUDE_DIR = include dir to be used when using the gsoap library
|
||||
# GSOAP_PLUGIN_DIR = gsoap plugins directory
|
||||
# GSOAP_WSDL2H = wsdl2h binary
|
||||
# GSOAP_SOAPCPP2 = soapcpp2 binary
|
||||
# GSOAP_FOUND = set to true if gsoap was found successfully
|
||||
#
|
||||
# GSOAP_ROOT
|
||||
# setting this enables search for gsoap libraries / headers in this location
|
||||
|
||||
# -----------------------------------------------------
|
||||
# GSOAP Import Directories
|
||||
# -----------------------------------------------------
|
||||
find_path(GSOAP_IMPORT_DIR
|
||||
NAMES wsa.h
|
||||
PATHS ${GSOAP_ROOT}/import ${GSOAP_ROOT}/share/gsoap/import
|
||||
)
|
||||
|
||||
# -----------------------------------------------------
|
||||
# GSOAP Libraries
|
||||
# -----------------------------------------------------
|
||||
find_library(GSOAP_CXX_LIBRARIES
|
||||
NAMES gsoap++
|
||||
HINTS ${GSOAP_ROOT}/lib ${GSOAP_ROOT}/lib64
|
||||
${GSOAP_ROOT}/lib32
|
||||
DOC "The main gsoap library"
|
||||
)
|
||||
find_library(GSOAP_SSL_CXX_LIBRARIES
|
||||
NAMES gsoapssl++
|
||||
HINTS ${GSOAP_ROOT}/lib ${GSOAP_ROOT}/lib64
|
||||
${GSOAP_ROOT}/lib32
|
||||
DOC "The ssl gsoap library"
|
||||
)
|
||||
|
||||
|
||||
# -----------------------------------------------------
|
||||
# GSOAP Include Directories
|
||||
# -----------------------------------------------------
|
||||
find_path(GSOAP_INCLUDE_DIR
|
||||
NAMES stdsoap2.h
|
||||
HINTS ${GSOAP_ROOT} ${GSOAP_ROOT}/include ${GSOAP_ROOT}/include/*
|
||||
DOC "The gsoap include directory"
|
||||
)
|
||||
|
||||
# -----------------------------------------------------
|
||||
# GSOAP plugin Directories
|
||||
# -----------------------------------------------------
|
||||
find_path(GSOAP_PLUGIN_DIR
|
||||
NAMES wsseapi.c
|
||||
HINTS ${GSOAP_ROOT} /usr/share/gsoap/plugin
|
||||
DOC "The gsoap plugin directory"
|
||||
)
|
||||
|
||||
# -----------------------------------------------------
|
||||
# GSOAP Binaries
|
||||
# ----------------------------------------------------
|
||||
if(NOT GSOAP_TOOL_DIR)
|
||||
set(GSOAP_TOOL_DIR GSOAP_ROOT)
|
||||
endif()
|
||||
|
||||
find_program(GSOAP_WSDL2H
|
||||
NAMES wsdl2h
|
||||
HINTS ${GSOAP_TOOL_DIR}/bin
|
||||
DOC "The gsoap bin directory"
|
||||
)
|
||||
find_program(GSOAP_SOAPCPP2
|
||||
NAMES soapcpp2
|
||||
HINTS ${GSOAP_TOOL_DIR}/bin
|
||||
DOC "The gsoap bin directory"
|
||||
)
|
||||
# -----------------------------------------------------
|
||||
# GSOAP version
|
||||
# try to determine the flagfor the 2.7.6 compatiblity, break with 2.7.13 and re-break with 2.7.16
|
||||
# ----------------------------------------------------
|
||||
if(GSOAP_SOAPCPP2)
|
||||
execute_process(COMMAND ${GSOAP_SOAPCPP2} "-V" OUTPUT_VARIABLE GSOAP_STRING_VERSION ERROR_VARIABLE GSOAP_STRING_VERSION )
|
||||
string(REGEX MATCH "[0-9]*\\.[0-9]*\\.[0-9]*" GSOAP_VERSION ${GSOAP_STRING_VERSION})
|
||||
endif()
|
||||
# -----------------------------------------------------
|
||||
# GSOAP_276_COMPAT_FLAGS and GSOAPVERSION
|
||||
# try to determine the flagfor the 2.7.6 compatiblity, break with 2.7.13 and re-break with 2.7.16
|
||||
# ----------------------------------------------------
|
||||
if( "${GSOAP_VERSION}" VERSION_LESS "2.7.6")
|
||||
set(GSOAP_276_COMPAT_FLAGS "")
|
||||
elseif ( "${GSOAP_VERSION}" VERSION_LESS "2.7.14")
|
||||
set(GSOAP_276_COMPAT_FLAGS "-z")
|
||||
else ( "${GSOAP_VERSION}" VERSION_LESS "2.7.14")
|
||||
set(GSOAP_276_COMPAT_FLAGS "-z1 -z2")
|
||||
endif ( "${GSOAP_VERSION}" VERSION_LESS "2.7.6")
|
||||
|
||||
# -----------------------------------------------------
|
||||
# handle the QUIETLY and REQUIRED arguments and set GSOAP_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
# -----------------------------------------------------
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(GSOAP DEFAULT_MSG GSOAP_CXX_LIBRARIES
|
||||
GSOAP_INCLUDE_DIR GSOAP_WSDL2H GSOAP_SOAPCPP2)
|
||||
mark_as_advanced(GSOAP_INCLUDE_DIR GSOAP_LIBRARIES GSOAP_WSDL2H GSOAP_SOAPCPP2)
|
||||
|
||||
if(GSOAP_FOUND)
|
||||
if(GSOAP_FIND_REQUIRED AND GSOAP_FIND_VERSION AND ${GSOAP_VERSION} VERSION_LESS ${GSOAP_FIND_VERSION})
|
||||
message(SEND_ERROR "Found GSOAP version ${GSOAP_VERSION} less then required ${GSOAP_FIND_VERSION}.")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user