================
@@ -0,0 +1,31 @@
+include(ExternalProject)
+
+if (NOT LIBXML2_PREFIX)
+ set (LIBXML2_PREFIX libxml2)
+endif()
+
+set(LIBXML2_PATH
${CMAKE_CURRENT_BINARY_DIR}/${LIBXML2_PREFIX}/src/${LIBXML2_PREFIX})
+set(LIBXML2_LIB_PATH ${LIBXML2_PATH}-build/libxml2.a)
+
+ExternalProject_Add(${LIBXML2_PREFIX}
+ PREFIX ${LIBXML2_PREFIX}
+ GIT_REPOSITORY https://github.com/GNOME/libxml2.git
+ GIT_TAG v2.15.1
+ CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
+ -DBUILD_SHARED_LIBS=OFF
+ -DLIBXML2_WITH_PYTHON=OFF
+ -DLIBXML2_WITH_PROGRAMS=OFF
+ -DLIBXML2_WITH_TESTS=OFF
+ -DLIBXML2_WITH_LZMA=OFF
+ -DLIBXML2_WITH_ZLIB=OFF
+ CMAKE_CACHE_ARGS -DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}
+ -DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}
+ -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
+ BUILD_BYPRODUCTS ${LIBXML2_LIB_PATH}
+ UPDATE_COMMAND ""
+ INSTALL_COMMAND ""
+ )
----------------
petrhosek wrote:
I don't want the build system to automatically clone and build a dependency
without my approval (and what's worse, control this behavior by a flag such as
`LLVM_USE_STATIC_LIBXML2`). This won't work on machines don't allow internet
access during build stage (our bots actually fall into that category, and they
statically link libxml2 already). I may also want to reuse an existing build of
libxml2 or configure it in a specific way (for example enabling the zlib
support or enabling LTO) which this implementation doesn't let me.
https://github.com/llvm/llvm-project/pull/166867
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits