您通常不想在版本控制中检查二进制文件、库和可执行文件,而是将它们托管在其他地方,例如文件服务器。如果您使用的是 conan,您可能会使用现有的 conan.io 免费服务用于公共包,使用 OSS conan_server 用于本地托管您的私有包或 Artifactory。
如果您的工件仅存在于您的桌面上的一个已知文件夹中,您所要做的就是在包配方中实现类似于以下 build() 方法:
def build(self):
shutil.copytree("C:/Path/to/folder/with/files", ".")
def package(self):
# make sure files are now copied into the package
self.copy("*.lib", dst="lib", src="files")
self.copy("*.dll", dst="bin", src="files")
self.copy("*.conf", dst="", src="files")
如果您只为一个给定配置提供包,我会在configure() 中添加一个检查,以清楚地输出此包的潜在消费者不兼容性:
class MyRecipe(ConanFile):
settings = "os", "compiler", "arch", "build_type"
def configure(self):
if self.settings.os != "Windows" or self.settings.arch != "x86_64" or \
self.settings.build_type != "Release" or ... :
raise Exception("This package does not support this configuration")