Reenable FindLibXml2 on Windows and confirm its at least 2.8 or newer
Summary:
GnuWin32 installs libxml2 2.4. This isn't recent enough for lldb's
usage and thus the build fails. Searching for libxml2 was disabled
due to this build failure.
However, the gdb-remote plugin requires libxml2 to parse various
gdb-remote protocol packets. Thus check and confirm that the libxml2
version is at least 2.8 and disable it if not.
Reviewers: compnerd, zturner
Reviewed By: compnerd
Subscribers: mgorny
Differential Revision: https://reviews.llvm.org/D55583
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@349538 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/cmake/modules/LLDBConfig.cmake b/cmake/modules/LLDBConfig.cmake
index 79e2a80..8153b1a 100644
--- a/cmake/modules/LLDBConfig.cmake
+++ b/cmake/modules/LLDBConfig.cmake
@@ -315,11 +315,7 @@
endif()
endif()
-if (NOT LIBXML2_FOUND AND NOT (CMAKE_SYSTEM_NAME MATCHES "Windows"))
- # Skip Libxml2 on Windows. In CMake 3.4 and higher, the algorithm for
- # finding libxml2 got "smarter", and it can now locate the version which is
- # in gnuwin32, even though that version does not contain the headers that
- # LLDB uses.
+if (NOT LIBXML2_FOUND)
find_package(LibXml2)
endif()
@@ -348,12 +344,10 @@
${SECURITY_LIBRARY}
${DEBUG_SYMBOLS_LIBRARY})
include_directories(${LIBXML2_INCLUDE_DIR})
-else()
- if (LIBXML2_FOUND)
- add_definitions( -DLIBXML2_DEFINED )
- list(APPEND system_libs ${LIBXML2_LIBRARIES})
- include_directories(${LIBXML2_INCLUDE_DIR})
- endif()
+elseif(LIBXML2_FOUND AND LIBXML2_VERSION_STRING VERSION_GREATER 2.8)
+ add_definitions( -DLIBXML2_DEFINED )
+ list(APPEND system_libs ${LIBXML2_LIBRARIES})
+ include_directories(${LIBXML2_INCLUDE_DIR})
endif()
if( WIN32 AND NOT CYGWIN )