-
Timm Fitschen authoredTimm Fitschen authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
conanfile.py 1.72 KiB
from conans import ConanFile, CMake, tools
class LibcaosdbConan(ConanFile):
name = "libcaosdb"
version = "0.0.1"
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"
def config_options(self):
if self.settings.os == "Windows":
del self.options.fPIC
def source(self):
self.run("git clone https://gitlab.indiscale.com/caosdb/src/caosdb-cpplib.git")
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="src")
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("*hello.lib", dst="lib", keep_path=False)
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 = ["libcaosdb"]