Skip to content
Snippets Groups Projects
Select Git revision
  • 8ec04dc754a13c2ec56dd4471eaeab07ec24a436
  • main default protected
  • develop
  • release_2_8_3
  • release_2_8_2
  • release_2_8_1
  • release_2_8_0
  • release_2_7_1
  • release_2_7_0
  • release_2_6_0
  • release_2_5_29
  • release_2_5_28
  • release_2_5_27
  • release_2_5_26
  • release_2_5_25
  • release_2_5_24
  • release_2_5_23
  • release_2_5_22
  • release_2_5_21
  • release_2_5_20
  • release_2_5_18
  • release_2_5_17
  • release_2_5_16
23 results

conanfile.py

Blame
  • MADELA Patrick's avatar
    Patrick MADELA authored
    8ec04dc7
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    conanfile.py 1.87 KiB
    from conan import ConanFile
    from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout, CMakeDeps
    
    class electrometersRecipe(ConanFile):
        name = "electrometers"
        version = "2.7.1"
        package_type = "library"
        user = "soleil"
        
        # Optional metadata
        license = "GPL-2"
        author = "Xavier Elattaoui"
        url = "https://gitlab.synchrotron-soleil.fr/software-control-system/tango-devices/measureinstruments/lib/electrometers"
        description = "Electrometers library"
        topics = ("utility", "control-system")
    
        # Binary configuration
        settings = "os", "compiler", "build_type", "arch"
        options = {"shared": [True, False], "fPIC": [True, False]}
        default_options = {"shared": False, "fPIC": True}
    
        # Sources are located in the same place as this recipe, copy them to the recipe
        exports_sources = "CMakeLists.txt", "src/**", "include/**"
    
        def requirements(self):
            self.requires("cpptango/9.2.5@soleil/stable")
    
        def config_options(self):
            if self.settings.os == "Windows":
                self.options.rm_safe("fPIC")
    
        def configure(self):
            if self.options.shared:
                self.options.rm_safe("fPIC")
    
        def layout(self):
            cmake_layout(self)
    
        def generate(self):
            deps = CMakeDeps(self)
            deps.generate()
            tc = CMakeToolchain(self)
            major, minor, patch = map(int, self.version.split('.'))
            tc.variables["PROJECT_NAME"] = self.name
            tc.variables["PROJECT_VERSION"] = self.version
            tc.variables["MAJOR_VERSION"] = major
            tc.variables["MINOR_VERSION"] = minor
            tc.variables["PATCH_VERSION"] = patch
            tc.generate()
    
        def build(self):
            cmake = CMake(self)
            cmake.configure()
            cmake.build()
    
        def package(self):
            cmake = CMake(self)
            cmake.install()
    
        def package_info(self):
            self.cpp_info.libs = ["electrometers"]