Skip to content
Snippets Groups Projects
conanfile.py 1.46 KiB
Newer Older
MADELA Patrick's avatar
MADELA Patrick committed
from conan import ConanFile
from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout, CMakeDeps


class MCCE2ElectrometersRecipe(ConanFile):
    name = "mcce2electrometers"
    executable = "ds_MCCE2Electrometers"
    version = "2.2.9"
    package_type = "application"
    user = "soleil"

    license = "GPL-3.0-or-later"
    author = "Xavier Elattaoui"
    url = "https://gitlab.synchrotron-soleil.fr/software-control-system/tango-devices/measureinstruments/mcce/novelecelectrometer.git"
    description = "MCCE2Electrometers device"
    topics = ("control-system", "tango", "device")

    settings = "os", "compiler", "build_type", "arch"

    exports_sources = "CMakeLists.txt", "src/*"
    
    def requirements(self):
POTIER Frederic's avatar
POTIER Frederic committed
        self.requires("electrometerslibrary/[>=1.0]@soleil/stable")
        self.requires("yat4tango/[>=1.0]@soleil/stable")
MADELA Patrick's avatar
MADELA Patrick committed
        if self.settings.os == "Linux":
            self.requires("crashreporting2/[>=1.0]@soleil/stable")
    
    def layout(self):
        cmake_layout(self)

    def generate(self):
        deps = CMakeDeps(self)
        deps.generate()
        tc = CMakeToolchain(self)
        tc.variables["PROJECT_NAME"] = self.name
        tc.variables["PROJECT_VERSION"] = self.version
        tc.variables["EXECUTABLE_NAME"] = self.executable
        tc.generate()

    def build(self):
        cmake = CMake(self)
        cmake.configure()
        cmake.build()

    def package(self):
        cmake = CMake(self)
        cmake.install()