51 lines
1.4 KiB
Python
51 lines
1.4 KiB
Python
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"]
|