shaka-packager/packager/third_party/libxml2/CMakeLists.txt

78 lines
2.6 KiB
CMake

# Copyright 2022 Google LLC. All rights reserved.
#
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file or at
# https://developers.google.com/open-source/licenses/bsd
# CMake build file to host libxml2 configuration.
# Turn these features off.
set(BUILD_SHARED_LIBS OFF)
set(LIBXML2_WITH_C14N OFF)
set(LIBXML2_WITH_CATALOG OFF)
set(LIBXML2_WITH_DEBUG OFF)
set(LIBXML2_WITH_FTP OFF)
set(LIBXML2_WITH_HTML OFF)
set(LIBXML2_WITH_HTTP OFF)
set(LIBXML2_WITH_ICONV OFF)
set(LIBXML2_WITH_ICU OFF)
set(LIBXML2_WITH_ISO8859X OFF)
set(LIBXML2_WITH_LEGACY OFF)
set(LIBXML2_WITH_LZMA OFF)
set(LIBXML2_WITH_MEM_DEBUG OFF)
set(LIBXML2_WITH_MODULES OFF)
set(LIBXML2_WITH_PROGRAMS OFF)
set(LIBXML2_WITH_PYTHON OFF)
set(LIBXML2_WITH_READER OFF)
set(LIBXML2_WITH_RUN_DEBUG OFF)
set(LIBXML2_WITH_SCHEMATRON OFF)
set(LIBXML2_WITH_TESTS OFF)
set(LIBXML2_WITH_THREAD_ALLOC OFF)
set(LIBXML2_WITH_TRIO OFF)
set(LIBXML2_WITH_UNICODE OFF)
set(LIBXML2_WITH_VALID OFF)
set(LIBXML2_WITH_WRITER OFF)
set(LIBXML2_WITH_XINCLUDE OFF)
set(LIBXML2_WITH_XPATH OFF)
set(LIBXML2_WITH_XPTR OFF)
set(LIBXML2_WITH_XPTR_LOCS OFF)
set(LIBXML2_WITH_ZLIB OFF)
# Turn these features on. Note that it fails to build with THREADS turned off.
set(LIBXML2_WITH_OUTPUT ON)
set(LIBXML2_WITH_PATTERN ON)
set(LIBXML2_WITH_PUSH ON)
set(LIBXML2_WITH_REGEXPS ON)
set(LIBXML2_WITH_SAX1 ON)
set(LIBXML2_WITH_SCHEMAS ON)
set(LIBXML2_WITH_THREADS ON)
set(LIBXML2_WITH_TREE ON)
if(MSVC)
# Disable this warning/error about division by 0, which occurs in xpath.c:
add_compile_options(/wd4723)
# Disable this warning/error about read(), which occurs in xmlIO.c:
add_compile_options(/wd4996)
# Disable this warning/error about WIN32_LEAN_AND_MEAN:
add_compile_options(/wd4005)
# Disable integer truncation warnings in many places
add_compile_options(/wd4244 /wd4267)
else()
# Disable this warning/error, which occurs in buf.c:
add_compile_options(-Wno-format-extra-args)
# Disable this warning/error, which occurs in encoding.c:
add_compile_options(-Wno-unused-but-set-variable)
# Disable this warning/error, which occurs in xmlIO.c:
add_compile_options(-Wno-unused-parameter)
# Disable this warning/error, which occurs in xmlschemas.c:
add_compile_options(-Wno-format-truncation)
# Disable this warning/error, which occurs in tree.c:
add_compile_options(-Wno-array-bounds)
endif()
# With these set in scope of this folder, load the library's own CMakeLists.txt.
add_subdirectory(source)
# Their CMakeLists.txt use a weird case for the library. Alias it.
add_library(libxml2 ALIAS LibXml2)