conanfile.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  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("c-ares/1.28.1")
  10. self.requires("fltk/1.3.9")
  11. self.requires("libqrencode/4.1.1")
  12. self.requires("lz4/1.9.4")
  13. self.requires("nlohmann_json/3.11.2")
  14. self.requires("openssl/3.3.2")
  15. self.requires("protobuf/3.21.12")
  16. self.requires("pugixml/1.13")
  17. self.requires("rotor/0.32")
  18. self.requires("spdlog/1.14.1")
  19. self.requires("tomlplusplus/3.3.0")
  20. self.requires("zlib/1.2.13")
  21. self.requires("catch2/3.3.1")
  22. self.requires("boost/1.86.0", headers=True, libs=True, transitive_libs=True, force=True)
  23. def build_requirements(self):
  24. self.tool_requires("protobuf/3.21.12")
  25. self.tool_requires("cmake/3.31.5")
  26. def generate(self):
  27. tc = CMakeToolchain(self)
  28. tc.variables["BUILD_SHARED_LIBS"] = self.options.shared
  29. tc.generate()
  30. tc = CMakeDeps(self)
  31. tc.generate()