Finds the native XML-RPC library for C and C++. XML-RPC is a standard network protocol that enables remote procedure calls (RPC) between systems. It encodes requests and responses in XML and uses HTTP as the transport mechanism.
The XML-RPC C/C++ library consists of various features (modules) that provide specific functionality. The availability of these features depends on the installed XML-RPC library version and system configuration. Some features also have dependencies on others.
To list the available features on a system, the xmlrpc-c-config command-line
utility can be used.
In CMake, these features can be specified as components with the
find_package() command:
find_package(XMLRPC [COMPONENTS <components>...])
Components may be:
c++2C++ wrapper API, replacing the legacy c++ feature.
c++The legacy C++ wrapper API (superseded by c++2).
clientXML-RPC client functions (also available as the legacy libwww-based feature
named libwww-client).
cgi-serverCGI-based server functions.
abyss-serverAbyss-based server functions.
pstream-serverThe pstream-based server functions.
server-utilBasic server functions (they are automatically included with *-server
features).
abyssAbyss HTTP server (not needed with abyss-server).
opensslOpenSSL convenience functions.
This module defines the following variables:
XMLRPC_INCLUDE_DIRSInclude directories containing xmlrpc.h and other headers needed to use
the XML-RPC library.
XMLRPC_LIBRARIESList of libraries needed for linking to XML-RPC library and its requested features.
XMLRPC_FOUNDBoolean indicating whether the XML-RPC library and all its requested components are found.
Finding XML-RPC library and its client feature to use in the project:
find_package(XMLRPC REQUIRED COMPONENTS client)