Skip to content
Snippets Groups Projects
Select Git revision
  • 9365fe65bf41bf4df85b0b8842f7a53d2df41dde
  • main default protected
  • f-sss4grpc
  • dev
  • 108-implement-rpc-call-for-server-side-scripting
  • f-windows-conan-create
  • f-to-string
  • f-update-requirements
  • f-related-projects
  • f-role
  • f-remote-path
  • f-rel-path
  • f-consol-message
  • v0.3.0
  • v0.2.2
  • v0.2.1
  • v0.2.0
  • v0.1.2
  • v0.1.1
  • v0.1
  • v0.0.19
  • v0.0.18
  • v0.0.16
  • v0.0.15
  • v0.0.10
  • v0.0.9
  • v0.0.8
  • v0.0.7
  • v0.0.6
  • v0.0.5
  • v0.0.4
  • v0.0.3
  • v0.0.2
33 results

conanfile.py

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    conanfile.py 1.92 KiB
    from conans import ConanFile, CMake, tools
    
    
    class CaosdbConan(ConanFile):
        name = "caosdb"
        version = "0.0.15"
        license = "AGPL-3.0-or-later"
        author = "Timm C. Fitschen <t.fitschen@indiscale.com>"
        url = "https://gitlab.indiscale.com/caosdb/src/caosdb-cpplib.git"
        description = "C++ library for the CaosDB project"
        topics = ("data management", "caosdb")
        settings = "os", "compiler", "build_type", "arch"
        options = {"shared": [True, False], "fPIC": [True, False]}
        default_options = {"shared": False, "fPIC": True}
        generators = "cmake"
        requires = [("boost/1.76.0"), ("gtest/1.11.0"), ("grpc/1.38.0")]
        exports = "*.cpp", "*.h", "*.cmake", "*CMakeLists.txt", "*.in", "*.proto", "*.c"
        exports_sources = "src", "doc", "include", "test", "cmake", "proto"
    
        def config_options(self):
            if self.settings.os == "Windows":
                del self.options.fPIC
            self.options["boost"].without_python = True
    
        # def source(self):
            # self.run("git clone https://gitlab.indiscale.com/caosdb/src/caosdb-cpplib.git")
            # self.run("cd caosdb-cpplib && git submodule update --init")
    
        def imports(self):
            self.copy("protoc*", "build_tools", "bin")
            self.copy("grpc_cpp_plugin*", "build_tools", "bin")
    
        def build(self):
            cmake = CMake(self)
            cmake.configure(source_folder="")
            cmake.build()
    
            # Explicit way:
            # self.run('cmake %s/hello %s'
            #          % (self.source_folder, cmake.command_line))
            # self.run("cmake --build . %s" % cmake.build_config)
    
        def package(self):
            self.copy("*.h", dst="include", src="include")
            self.copy("*.dll", dst="bin", keep_path=False)
            self.copy("*.so", dst="lib", keep_path=False)
            self.copy("*.dylib", dst="lib", keep_path=False)
            self.copy("*.a", dst="lib", keep_path=False)
    
        def package_info(self):
            self.cpp_info.libs = ["caosdb", "ccaosdb"]