conanfile.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. from conan import ConanFile
  2. from conan.tools.cmake import CMakeToolchain, CMake, CMakeDeps, cmake_layout
  3. class SyncspiritRecipe(ConanFile):
  4. settings = "os", "compiler", "build_type", "arch"
  5. options = {
  6. "shared": [True, False],
  7. }
  8. def requirements(self):
  9. self.requires("freetype/2.12.1", headers=True, libs=True, transitive_libs=True, force=True)
  10. self.requires("fltk/1.3.9")
  11. self.requires("libqrencode/4.1.1")
  12. self.requires("lz4/1.10.0")
  13. self.requires("nlohmann_json/3.12.0")
  14. self.requires("openssl/3.4.1")
  15. self.requires("protopuf/3.0.0")
  16. self.requires("pugixml/1.15")
  17. self.requires("rotor/0.34")
  18. self.requires("spdlog/1.15.3")
  19. self.requires("tomlplusplus/3.4.0")
  20. self.requires("zlib/1.3.1")
  21. # self.requires("c-ares/1.34.5")
  22. self.requires("catch2/3.3.1")
  23. # self.requires("uni-algo/1.2.0")
  24. self.requires("boost/1.86.0", headers=True, libs=True, transitive_libs=True, force=True)
  25. def build_requirements(self):
  26. self.tool_requires("cmake/3.31.5")
  27. def generate(self):
  28. tc = CMakeToolchain(self)
  29. tc.variables["BUILD_SHARED_LIBS"] = self.options.shared
  30. tc.generate()
  31. tc = CMakeDeps(self)
  32. tc.generate()