0001-cmake-libxml2-detection-try-first-the-CMake-module-f.patch 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. From b613e0fe7999cfff9efb646eb388ea1e58952e30 Mon Sep 17 00:00:00 2001
  2. From: Samuel Martin <s.martin49@gmail.com>
  3. Date: Thu, 14 Apr 2016 12:59:27 -0400
  4. Subject: [PATCH] cmake: libxml2 detection: try CMake module from libxml2
  5. Libxml2 >=2.9.2 provides its own CMake module, so check for it before
  6. falling back on the CMake's module FindLibXml2.cmake.
  7. Updated for v0.6 by: Matt Fornero <matt.fornero@mathworks.com>
  8. Signed-off-by: Samuel Martin <s.martin49@gmail.com>
  9. Signed-off-by: Matt Fornero <matt.fornero@mathworks.com>
  10. ---
  11. CMakeLists.txt | 13 ++++++++++++-
  12. 1 file changed, 12 insertions(+), 1 deletion(-)
  13. diff --git a/CMakeLists.txt b/CMakeLists.txt
  14. index 70f61f0..4a4209b 100644
  15. --- a/CMakeLists.txt
  16. +++ b/CMakeLists.txt
  17. @@ -143,7 +143,18 @@ if(WITH_NETWORK_BACKEND)
  18. endif()
  19. if (NEED_LIBXML2)
  20. - include(FindLibXml2)
  21. + # Since libxml2-2.9.2, libxml2 provides its own LibXml2-config.cmake, with all
  22. + # variables correctly set.
  23. + # So, try first to find the CMake module provided by libxml2 package, then fallback
  24. + # on the CMake's FindLibXml2.cmake module (which can lack some definition, especially
  25. + # in static build case).
  26. + find_package(LibXml2 QUIET NO_MODULE)
  27. + if(DEFINED LIBXML2_VERSION_STRING)
  28. + set(LIBXML2_FOUND ON)
  29. + set(LIBXML2_INCLUDE_DIR ${LIBXML2_INCLUDE_DIRS})
  30. + else()
  31. + include(FindLibXml2)
  32. + endif()
  33. if (NOT LIBXML2_FOUND)
  34. message(SEND_ERROR "The selected backends require libxml2 to be installed")
  35. --
  36. 1.7.10.4