from conans import ConanFile, CMake, tools class MariadbConnectorCConan(ConanFile): name = "mariadb-connector-c" version = "3.3.2" license = "LGLP" author = "Axel Sjoberg sjobeaxe@gmail.com" url = "https://mariadb.com/downloads/connectors/" description = "MariaDB Connector C" settings = "os", "compiler", "build_type", "arch" options = {"shared": [True, False], "fPIC": [True, False]} default_options = {"shared": False, "fPIC": True} generators = "cmake" requires = "openssl/1.1.1q","libcurl/7.85.0" def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def source(self): tools.get("https://dlm.mariadb.com/2453940/Connectors/c/connector-c-3.3.2/mariadb-connector-c-3.3.2-src.zip", sha256="b18c2a402379cd089b78724112955d07d9c5aa1be53d72aa22c034a5d3bf4e30") # This small hack might be useful to guarantee proper /MT /MD linkage # in MSVC if the packaged project doesn't have variables to set it # properly tools.replace_in_file("mariadb-connector-c-3.3.2-src/CMakeLists.txt", "PROJECT(mariadb-connector-c C)", '''PROJECT(mariadb-connector-c C) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup() if(WIN32) add_definitions("/W2 ") endif(WIN32) ''') def build(self): cmake = CMake(self) cmake.definitions["WITH_UNIT_TESTS"] = "OFF" cmake.configure(source_folder="mariadb-connector-c-3.3.2-src") cmake.build() cmake.install()