summaryrefslogtreecommitdiffstats
path: root/xmlserializer
diff options
context:
space:
mode:
authorDavid Wagner <david.wagner@intel.com>2014-02-20 12:17:39 +0100
committerDavid Wagner <david.wagner@intel.com>2014-02-20 14:09:22 +0100
commitc083330f9538f1bac8045c0660775efe63055696 (patch)
treed64362ad288736e54c8f45c99ac3d2eaa031a5c6 /xmlserializer
parent7ab2809a1caf90155e789bf818ace60f21387a6a (diff)
downloadexternal_parameter-framework-c083330f9538f1bac8045c0660775efe63055696.zip
external_parameter-framework-c083330f9538f1bac8045c0660775efe63055696.tar.gz
external_parameter-framework-c083330f9538f1bac8045c0660775efe63055696.tar.bz2
CMake: detect the XInclude feature in libxml2
xmlserializer needs the XInclude feature (its usage in structure files is optional but xmlserializer needs the symbols for compiling). Verbosely fail if libxml2 has not been configured with XInclude support. Signed-off-by: David Wagner <david.wagner@intel.com>
Diffstat (limited to 'xmlserializer')
-rw-r--r--xmlserializer/CMakeLists.txt10
1 files changed, 9 insertions, 1 deletions
diff --git a/xmlserializer/CMakeLists.txt b/xmlserializer/CMakeLists.txt
index 420055f..6ba2768 100644
--- a/xmlserializer/CMakeLists.txt
+++ b/xmlserializer/CMakeLists.txt
@@ -16,8 +16,16 @@ if(NOT LIBXML2_FOUND)
libxml2 NOT found. The parameter-framework wont compile.
Please install the development package (e.g. libxml2-dev on debian-based
Linux distributions).")
+else(NOT LIBXML2_FOUND)
+ # libxml2 has been found, but does it support XInclude ?
+ include(CheckLibraryExists)
+ check_library_exists(xml2 xmlXIncludeProcess "" XML2_XINCLUDE_SUPPORT)
+ if(NOT XML2_XINCLUDE_SUPPORT)
+ message(SEND_ERROR "
+ libxml2 has not been built with support for XInclude. xmlserializer needs
+ that feature; please install a version of libxml2 supporting it.")
+ endif(NOT XML2_XINCLUDE_SUPPORT)
endif(NOT LIBXML2_FOUND)
-# TODO: check for the "XInclude" feature in libxml2 (how to ?)
include_directories(${LIBXML2_INCLUDE_DIR})
target_link_libraries(xmlserializer ${LIBXML2_LIBRARIES})