| 1 | from conan import ConanFile |
| 2 | |
| 3 | class RppConan(ConanFile): |
| 4 | name = "rpp" |
| 5 | settings = "os", "compiler", "build_type", "arch" |
| 6 | generators = "CMakeDeps", "CMakeToolchain" |
| 7 | extension_properties = {"compatibility_cppstd": False} |
| 8 | |
| 9 | options = { |
| 10 | "with_grpc" : [False, True], |
| 11 | "with_sfml" : [False, True], |
| 12 | "with_tests" : [False, True], |
| 13 | "with_cmake" : [False, True], |
| 14 | "with_benchmarks" : [False, True], |
| 15 | "with_asio" : [False, True] |
| 16 | } |
| 17 | default_options = { |
| 18 | "with_grpc" : False, |
| 19 | "with_sfml" : False, |
| 20 | "with_tests": False, |
| 21 | "with_cmake": False, |
| 22 | "with_benchmarks" : False, |
| 23 | "with_asio" : False |
| 24 | } |
| 25 | |
| 26 | def configure(self): |
| 27 | self.options["grpc/*"].with_libsystemd = False |
| 28 | self.options["grpc/*"].csharp_plugin = False |
| 29 | self.options["grpc/*"].node_plugin = False |
| 30 | self.options["grpc/*"].objective_c_plugin = False |
| 31 | self.options["grpc/*"].php_plugin = False |
| 32 | self.options["grpc/*"].python_plugin = False |
| 33 | self.options["grpc/*"].ruby_plugin = False |
| 34 | |
| 35 | def requirements(self): |
| 36 | if self.options.with_tests: |
| 37 | self.requires("trompeloeil/48") |
| 38 | self.requires("doctest/2.4.11") |
| 39 | |
| 40 | if self.options.with_benchmarks: |
| 41 | self.requires("nanobench/4.3.11") |
| 42 | |
| 43 | # if self.options.with_sfml: |
| 44 | # self.requires("sfml/2.6.2", options={"audio": False}) |
| 45 | |
| 46 | if self.options.with_grpc: |
| 47 | self.requires("grpc/1.65.0", transitive_libs=True, transitive_headers=True) |
| 48 | self.requires("libmount/2.39", override=True) |
| 49 | |
| 50 | if self.options.with_asio: |
| 51 | self.requires("asio/1.30.2") |
| 52 | |
| 53 | if self.options.with_cmake: |
| 54 | self.tool_requires("cmake/3.29.3") |
nothing calls this directly
no outgoing calls
no test coverage detected