Modules: Rename FindXerces to FindXercesC

The FindXerces module was added in commit v3.1.0-rc1~155^2 (FindXerces:
New module to find Apache Xerces-C++, 2014-08-17).  However, there are
two implementations of Xerces, one in C++:

  http://xerces.apache.org/xerces-c/

and one in Java:

  http://xerces.apache.org/xerces-j/

Rename FindXerces to FindXercesC to clarify that it is about the C++
implementation.

While at it, add the missing CMake 3.1 release note about this module.

Suggested-by: Erik Sjölund <erik.sjolund@gmail.com>
This commit is contained in:
Brad King 2014-12-04 10:36:21 -05:00
parent 433c6d4689
commit 27141eede7
5 changed files with 37 additions and 35 deletions

View File

@ -208,7 +208,7 @@ All Modules
/module/FindWish /module/FindWish
/module/FindwxWidgets /module/FindwxWidgets
/module/FindwxWindows /module/FindwxWindows
/module/FindXerces /module/FindXercesC
/module/FindX11 /module/FindX11
/module/FindXMLRPC /module/FindXMLRPC
/module/FindZLIB /module/FindZLIB

View File

@ -1 +0,0 @@
.. cmake-module:: ../../Modules/FindXerces.cmake

View File

@ -0,0 +1 @@
.. cmake-module:: ../../Modules/FindXercesC.cmake

View File

@ -238,6 +238,8 @@ Modules
* The :module:`FindPkgConfig` module learned to use the ``PKG_CONFIG`` * The :module:`FindPkgConfig` module learned to use the ``PKG_CONFIG``
environment variable value as the ``pkg-config`` executable, if set. environment variable value as the ``pkg-config`` executable, if set.
* The :module:`FindXercesC` module was introduced.
* The :module:`FindZLIB` module now provides imported targets. * The :module:`FindZLIB` module now provides imported targets.
* The :module:`GenerateExportHeader` module ``generate_export_header`` * The :module:`GenerateExportHeader` module ``generate_export_header``

View File

@ -1,21 +1,21 @@
#.rst: #.rst:
# FindXerces # FindXercesC
# ---------- # -----------
# #
# Find the Apache Xerces-C++ validating XML parser headers and libraries. # Find the Apache Xerces-C++ validating XML parser headers and libraries.
# #
# This module reports information about the Xerces installation in # This module reports information about the Xerces installation in
# several variables. General variables:: # several variables. General variables::
# #
# Xerces_FOUND - true if the Xerces headers and libraries were found # XercesC_FOUND - true if the Xerces headers and libraries were found
# Xerces_VERSION - Xerces release version # XercesC_VERSION - Xerces release version
# Xerces_INCLUDE_DIRS - the directory containing the Xerces headers # XercesC_INCLUDE_DIRS - the directory containing the Xerces headers
# Xerces_LIBRARIES - Xerces libraries to be linked # XercesC_LIBRARIES - Xerces libraries to be linked
# #
# The following cache variables may also be set:: # The following cache variables may also be set::
# #
# Xerces_INCLUDE_DIR - the directory containing the Xerces headers # XercesC_INCLUDE_DIR - the directory containing the Xerces headers
# Xerces_LIBRARY - the Xerces library # XercesC_LIBRARY - the Xerces library
# Written by Roger Leigh <rleigh@codelibre.net> # Written by Roger Leigh <rleigh@codelibre.net>
@ -32,54 +32,54 @@
# (To distribute this file outside of CMake, substitute the full # (To distribute this file outside of CMake, substitute the full
# License text for the above reference.) # License text for the above reference.)
function(_Xerces_GET_VERSION version_hdr) function(_XercesC_GET_VERSION version_hdr)
file(STRINGS ${version_hdr} _contents REGEX "^[ \t]*#define XERCES_VERSION_.*") file(STRINGS ${version_hdr} _contents REGEX "^[ \t]*#define XERCES_VERSION_.*")
if(_contents) if(_contents)
string(REGEX REPLACE ".*#define XERCES_VERSION_MAJOR[ \t]+([0-9]+).*" "\\1" Xerces_MAJOR "${_contents}") string(REGEX REPLACE ".*#define XERCES_VERSION_MAJOR[ \t]+([0-9]+).*" "\\1" XercesC_MAJOR "${_contents}")
string(REGEX REPLACE ".*#define XERCES_VERSION_MINOR[ \t]+([0-9]+).*" "\\1" Xerces_MINOR "${_contents}") string(REGEX REPLACE ".*#define XERCES_VERSION_MINOR[ \t]+([0-9]+).*" "\\1" XercesC_MINOR "${_contents}")
string(REGEX REPLACE ".*#define XERCES_VERSION_REVISION[ \t]+([0-9]+).*" "\\1" Xerces_PATCH "${_contents}") string(REGEX REPLACE ".*#define XERCES_VERSION_REVISION[ \t]+([0-9]+).*" "\\1" XercesC_PATCH "${_contents}")
if(NOT Xerces_MAJOR MATCHES "^[0-9]+$") if(NOT XercesC_MAJOR MATCHES "^[0-9]+$")
message(FATAL_ERROR "Version parsing failed for XERCES_VERSION_MAJOR!") message(FATAL_ERROR "Version parsing failed for XERCES_VERSION_MAJOR!")
endif() endif()
if(NOT Xerces_MINOR MATCHES "^[0-9]+$") if(NOT XercesC_MINOR MATCHES "^[0-9]+$")
message(FATAL_ERROR "Version parsing failed for XERCES_VERSION_MINOR!") message(FATAL_ERROR "Version parsing failed for XERCES_VERSION_MINOR!")
endif() endif()
if(NOT Xerces_PATCH MATCHES "^[0-9]+$") if(NOT XercesC_PATCH MATCHES "^[0-9]+$")
message(FATAL_ERROR "Version parsing failed for XERCES_VERSION_REVISION!") message(FATAL_ERROR "Version parsing failed for XERCES_VERSION_REVISION!")
endif() endif()
set(Xerces_VERSION "${Xerces_MAJOR}.${Xerces_MINOR}.${Xerces_PATCH}" PARENT_SCOPE) set(XercesC_VERSION "${XercesC_MAJOR}.${XercesC_MINOR}.${XercesC_PATCH}" PARENT_SCOPE)
else() else()
message(FATAL_ERROR "Include file ${version_hdr} does not exist or does not contain expected version information") message(FATAL_ERROR "Include file ${version_hdr} does not exist or does not contain expected version information")
endif() endif()
endfunction() endfunction()
# Find include directory # Find include directory
find_path(Xerces_INCLUDE_DIR find_path(XercesC_INCLUDE_DIR
NAMES "xercesc/util/PlatformUtils.hpp" NAMES "xercesc/util/PlatformUtils.hpp"
DOC "Xerces-C++ include directory") DOC "Xerces-C++ include directory")
mark_as_advanced(Xerces_INCLUDE_DIR) mark_as_advanced(XercesC_INCLUDE_DIR)
# Find all Xerces libraries # Find all XercesC libraries
find_library(Xerces_LIBRARY "xerces-c" find_library(XercesC_LIBRARY "xerces-c"
DOC "Xerces-C++ libraries") DOC "Xerces-C++ libraries")
mark_as_advanced(Xerces_LIBRARY) mark_as_advanced(XercesC_LIBRARY)
if(Xerces_INCLUDE_DIR) if(XercesC_INCLUDE_DIR)
_Xerces_GET_VERSION("${Xerces_INCLUDE_DIR}/xercesc/util/XercesVersion.hpp") _XercesC_GET_VERSION("${XercesC_INCLUDE_DIR}/xercesc/util/XercesVersion.hpp")
endif() endif()
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake) include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Xerces FIND_PACKAGE_HANDLE_STANDARD_ARGS(XercesC
FOUND_VAR Xerces_FOUND FOUND_VAR XercesC_FOUND
REQUIRED_VARS Xerces_LIBRARY REQUIRED_VARS XercesC_LIBRARY
Xerces_INCLUDE_DIR XercesC_INCLUDE_DIR
Xerces_VERSION XercesC_VERSION
VERSION_VAR Xerces_VERSION VERSION_VAR XercesC_VERSION
FAIL_MESSAGE "Failed to find Xerces") FAIL_MESSAGE "Failed to find XercesC")
if(Xerces_FOUND) if(XercesC_FOUND)
set(Xerces_INCLUDE_DIRS "${Xerces_INCLUDE_DIR}") set(XercesC_INCLUDE_DIRS "${XercesC_INCLUDE_DIR}")
set(Xerces_LIBRARIES "${Xerces_LIBRARY}") set(XercesC_LIBRARIES "${XercesC_LIBRARY}")
endif() endif()