From c083330f9538f1bac8045c0660775efe63055696 Mon Sep 17 00:00:00 2001 From: David Wagner Date: Thu, 20 Feb 2014 12:17:39 +0100 Subject: 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 --- xmlserializer/CMakeLists.txt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'xmlserializer') 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}) -- cgit v1.1