Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 81 additions & 27 deletions recipes/libxml2/cmake/conanfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,20 +20,74 @@ class Libxml2Conan(ConanFile):
options = {
"shared": [True, False],
"fPIC": [True, False],
"catalog": [True, False],
"debug": [True, False],
"html": [True, False],
"http": [True, False],
"iconv": [True, False],
"icu": [True, False],
"iso8859x": [True, False],
"legacy": [True, False],
"lzma": [True, False],
"modules": [True, False],
"output": [True, False],
"pattern": [True, False],
"programs": [True, False],
"push": [True, False],
"python": [True, False],
"readline": [True, False],
"regexps": [True, False],
"sax1": [True, False],
"threads": [True, False],
"tls": [True, False],
"valid": [True, False],
"xinclude": [True, False],
"xpath": [True, False],
"zlib": [True, False],
"c14n": [True, False],
"history": [True, False],
"schemas": [True, False],
"schematron": [True, False],
"thread_alloc": [True, False],
"writer": [True, False],
"xptr": [True, False],
"relaxng": [True, False]
}
default_options = {
"shared": False,
"fPIC": True,
"catalog": True,
"debug": True,
"html": True,
"http": True,
"iconv": True,
"icu": False,
"iso8859x": True,
"legacy": False,
"lzma": False,
"modules": True,
"output": True,
"pattern": True,
"programs": True,
"push": True,
"python": False,
"readline": False,
"regexps": True,
"sax1": True,
"threads": True,
"tls": False,
"valid": True,
"xinclude": True,
"xpath": True,
"zlib": True,
"c14n": True,
"history": False,
"schemas": True,
"schematron": True,
"thread_alloc": False,
"writer": True,
"xptr": True,
"relaxng": True
}
languages = "C"
implements = ["auto_shared_fpic"]
Expand Down Expand Up @@ -65,39 +119,39 @@ def requirements(self):
def generate(self):
tc = CMakeToolchain(self)
tc.cache_variables["BUILD_SHARED_LIBS"] = self.options.shared
tc.cache_variables["LIBXML2_WITH_CATALOG"] = True
tc.cache_variables["LIBXML2_WITH_DEBUG"] = True
tc.cache_variables["LIBXML2_WITH_HTML"] = True
tc.cache_variables["LIBXML2_WITH_HTTP"] = True
tc.cache_variables["LIBXML2_WITH_CATALOG"] = self.options.catalog
tc.cache_variables["LIBXML2_WITH_DEBUG"] = self.options.debug
tc.cache_variables["LIBXML2_WITH_HTML"] = self.options.html
tc.cache_variables["LIBXML2_WITH_HTTP"] = self.options.http
tc.cache_variables["LIBXML2_WITH_ICONV"] = self.options.iconv
tc.cache_variables["LIBXML2_WITH_ICU"] = self.options.icu
tc.cache_variables["LIBXML2_WITH_ISO8859X"] = True
tc.cache_variables["LIBXML2_WITH_LEGACY"] = False
tc.cache_variables["LIBXML2_WITH_ISO8859X"] = self.options.iso8859x
tc.cache_variables["LIBXML2_WITH_LEGACY"] = self.options.legacy
if "lzma" in self.options: # removed since 2.15.0
tc.cache_variables["LIBXML2_WITH_LZMA"] = self.options.lzma
tc.cache_variables["LIBXML2_WITH_MODULES"] = True
tc.cache_variables["LIBXML2_WITH_OUTPUT"] = True
tc.cache_variables["LIBXML2_WITH_PATTERN"] = True
tc.cache_variables["LIBXML2_WITH_MODULES"] = self.options.modules
tc.cache_variables["LIBXML2_WITH_OUTPUT"] = self.options.output
tc.cache_variables["LIBXML2_WITH_PATTERN"] = self.options.pattern
tc.cache_variables["LIBXML2_WITH_PROGRAMS"] = self.options.programs
tc.cache_variables["LIBXML2_WITH_PUSH"] = True
tc.cache_variables["LIBXML2_WITH_PYTHON"] = False
tc.cache_variables["LIBXML2_WITH_READLINE"] =False
tc.cache_variables["LIBXML2_WITH_REGEXPS"] = True
tc.cache_variables["LIBXML2_WITH_SAX1"] = True
tc.cache_variables["LIBXML2_WITH_THREADS"] = True
tc.cache_variables["LIBXML2_WITH_TLS"] = False
tc.cache_variables["LIBXML2_WITH_VALID"] = True
tc.cache_variables["LIBXML2_WITH_XINCLUDE"] = True
tc.cache_variables["LIBXML2_WITH_XPATH"] = True
tc.cache_variables["LIBXML2_WITH_PUSH"] = self.options.push
tc.cache_variables["LIBXML2_WITH_PYTHON"] = self.options.python
tc.cache_variables["LIBXML2_WITH_READLINE"] = self.options.readline
tc.cache_variables["LIBXML2_WITH_REGEXPS"] = self.options.regexps
tc.cache_variables["LIBXML2_WITH_SAX1"] = self.options.sax1
tc.cache_variables["LIBXML2_WITH_THREADS"] = self.options.threads
tc.cache_variables["LIBXML2_WITH_TLS"] = self.options.tls
tc.cache_variables["LIBXML2_WITH_VALID"] = self.options.valid
tc.cache_variables["LIBXML2_WITH_XINCLUDE"] = self.options.xinclude
tc.cache_variables["LIBXML2_WITH_XPATH"] = self.options.xpath
tc.cache_variables["LIBXML2_WITH_ZLIB"] = self.options.zlib
tc.cache_variables["LIBXML2_WITH_C14N"] = True
tc.cache_variables["LIBXML2_WITH_HISTORY"] = False
tc.cache_variables["LIBXML2_WITH_SCHEMAS"] = True
tc.cache_variables["LIBXML2_WITH_SCHEMATRON"] = True
tc.cache_variables["LIBXML2_WITH_THREAD_ALLOC"] = False
tc.cache_variables["LIBXML2_WITH_WRITER"] = True
tc.cache_variables["LIBXML2_WITH_XPTR"] = True
tc.cache_variables["LIBXML2_WITH_RELAXNG"] = True
tc.cache_variables["LIBXML2_WITH_C14N"] = self.options.c14n
tc.cache_variables["LIBXML2_WITH_HISTORY"] = self.options.history
tc.cache_variables["LIBXML2_WITH_SCHEMAS"] = self.options.schemas
tc.cache_variables["LIBXML2_WITH_SCHEMATRON"] = self.options.schematron
tc.cache_variables["LIBXML2_WITH_THREAD_ALLOC"] = self.options.thread_alloc
tc.cache_variables["LIBXML2_WITH_WRITER"] = self.options.writer
tc.cache_variables["LIBXML2_WITH_XPTR"] = self.options.xptr
tc.cache_variables["LIBXML2_WITH_RELAXNG"] = self.options.relaxng

# inhibit any CMake logic that requires pkg-config
tc.cache_variables["PKG_CONFIG_EXECUTABLE"] = "PKG_CONFIG_EXECUTABLE-NOTFOUND"
Expand Down