conanfile.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. from conans import ConanFile, CMake, tools
  2. import os
  3. class Bento4Conan(ConanFile):
  4. name = "Bento4"
  5. version = "1.5.1-629"
  6. license = "GPL-2.0-or-later"
  7. author = "Shawn Morford <DarkMorford@Gmail.com>"
  8. url = "https://code.darkmorford.net/conan-pkg/Bento4"
  9. description = ("A fast, modern, open source C++ toolkit for all "
  10. "your MP4 and MPEG DASH media format needs.")
  11. homepage = "https://www.bento4.com/"
  12. topics = ("media", "container")
  13. settings = "os", "compiler", "build_type", "arch"
  14. options = {"shared": [True, False]}
  15. default_options = {"shared": False}
  16. generators = "cmake"
  17. @property
  18. def subfolder(self):
  19. return os.path.join(self.source_folder, "bento4")
  20. def source(self):
  21. self.output.info(f"Downloading source for version {self.version}")
  22. tools.get(**self.conan_data["sources"][self.version], destination="bento4")
  23. def build(self):
  24. cmake = CMake(self)
  25. cmake.configure(source_folder="hello")
  26. cmake.build()
  27. # Explicit way:
  28. # self.run('cmake %s/hello %s'
  29. # % (self.source_folder, cmake.command_line))
  30. # self.run("cmake --build . %s" % cmake.build_config)
  31. def package(self):
  32. self.copy("*.h", dst="include", src="hello")
  33. self.copy("*hello.lib", dst="lib", keep_path=False)
  34. self.copy("*.dll", dst="bin", keep_path=False)
  35. self.copy("*.so", dst="lib", keep_path=False)
  36. self.copy("*.dylib", dst="lib", keep_path=False)
  37. self.copy("*.a", dst="lib", keep_path=False)
  38. def package_info(self):
  39. self.cpp_info.libs = ["hello"]