from conan import ConanFile from conan.tools.cmake import cmake_layout,CMakeToolchain, CMakeDeps class Pkg(ConanFile): generators = "CMakeDeps", #"CMakeToolchain", settings = "os", "arch", "compiler", "build_type" default_options = { 'readline*:shared': 'True', 'arrow*:shared': 'False', 'arrow*:parquet': 'True', 'arrow*:fPIC': 'False', 'arrow*:with_re2': 'True', 'arrow*:with_protobuf': 'False', 'arrow*:with_openssl': 'False', 'arrow*:with_gflags': 'False', 'arrow*:with_glog': 'False', 'arrow*:with_grpc': 'False', 'arrow*:with_utf8proc': 'False', 'arrow*:with_zstd': 'False', 'arrow*:with_bz2': 'False', 'arrow*:with_lz4': 'True', 'arrow*:with_thrift': 'True', 'arrow*:with_boost': 'True', 'boost*:without_container': 'True', 'boost*:without_context': 'True', 'boost*:without_contract': 'True', 'boost*:without_coroutine': 'True', 'boost*:without_date_time': 'True', 'boost*:without_fiber': 'True', 'boost*:without_filesystem': 'False', 'boost*:without_graph': 'True', 'boost*:without_graph_parallel': 'True', 'boost*:without_iostreams': 'False', 'boost*:without_json': 'True', 'boost*:without_locale': 'True', 'boost*:without_log': 'True', 'boost*:without_math': 'False', 'boost*:without_mpi': 'True', 'boost*:without_nowide': 'True', 'boost*:without_program_options': 'True', 'boost*:without_python': 'True', 'boost*:without_serialization': 'False', 'boost*:without_stacktrace': 'True', 'boost*:without_system': 'False', 'boost*:without_test': 'True', 'boost*:without_thread': 'True', 'boost*:without_timer': 'True', 'boost*:without_type_erasure': 'True', 'boost*:without_wave': 'True' } def configure(self): self.options['arrow'].with_boost = True self.options['arrow'].parquet = True self.options['arrow'].with_thrift = True def requirements(self): self.requires("spdlog/1.14.1", force=True) self.requires("catch2/3.6.0") self.requires("bzip2/1.0.8") self.requires("boost/1.85.0", force=True) self.requires("eigen/3.4.0") self.requires("zlib/1.3.1") self.requires("yaml-cpp/0.8.0") self.requires("cli11/1.9.1") self.requires("arrow/16.1.0") self.requires("proposal/7.6.2") def build_requirements(self): self.tool_requires("readline/8.0") self.tool_requires("bison/[>1.0]") def generate(self): tc = CMakeToolchain(self) tc.absolute_paths = True tc.generate()