import os.path from conan import ConanFile from conan.tools.meson import Meson, MesonToolchain from conan.tools.layout import basic_layout class ElemmireRecipe(ConanFile): name = "elemmire" version = "0.1" # Optional metadata license = "CECILL-2.1/GPL-3.0" author = "The Aquila Consortium" url = "https://bitbucket.org/aquila-consortium/elemmire" description = "The Elemmire library" topics = ("cosmology", "data analysis") revision_mode = "scm" # Binary configuration generators = "PkgConfigDeps" settings = "os", "compiler", "build_type", "arch" options = {"shared": [True, False], "fPIC": [True, False]} default_options = {"shared": False, "fPIC": True} # Location of sources exports_sources = "meson.build", "include/*", "src/*" def requirements(self): self.requires("fftw/[>=3.3.8]") def build_requirements(self): self.tool_requires("meson/[~1.0]") def layout(self): basic_layout(self) self.folders.build = os.path.join(self.folders.build, "meson") def generate(self): tc = MesonToolchain(self) tc.generate() def build(self): meson = Meson(self) meson.configure() meson.build() def package(self): meson = Meson(self) meson.install() def package_info(self): self.cpp_info.libs = ["elemmire"]