在conanfile.py文件中的'build_requirements()”和'requirements()”函数中分别使用'build_requires”和'requires”字段来声明依赖项,在conan install命令中添加'--no-imports”选项避免依赖项被自动导入。
举个例子,这是一个依赖于Boost的conanfile.py文件:
from conans import ConanFile, CMake
class MyLibrary(ConanFile):
name = "MyLibrary"
version = "1.0"
settings = "os", "compiler", "build_type", "arch"
generators = "cmake"
requires = "boost/1.69.0@conan/stable"
def build_requirements(self):
self.build_requires("cmake/3.13.4")
def build(self):
cmake = CMake(self)
cmake.configure()
cmake.build()
在安装时,执行以下命令:
conan install . --build=missing --no-imports
'--no-imports”选项将阻止conan自动导入依赖项。如果需要手动使用依赖项,可以添加以下行:
from conans import tools
def imports(self):
self.copy("*.dll", dst="bin", src="bin")