You typically don't want to check binaries, libraries and executables in version control, but host them elsewhere, like a file server. If you are using conan, you might use the existing conan.io free service for public packages, the OSS conan_server for on-premises hosting of your private packages or Artifactory.
If your artifacts lives just on your desktop, on a known folder, all you have to do is implement something like the following build()
method in the package recipe:
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")
If you are providing a package just for one given configuration, I would add a check in configure()
to clearly output potential consumers incompatibilities of this package:
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")