83 lines
2.3 KiB
Python
83 lines
2.3 KiB
Python
from conan import ConanFile
|
|
from conan.errors import ConanException
|
|
|
|
class RequirementsConan(ConanFile):
|
|
name = "Requirements"
|
|
|
|
options = {
|
|
"packages_channel": ["ANY"]
|
|
}
|
|
default_options = {
|
|
"packages_channel": "main"
|
|
}
|
|
|
|
def configure(self):
|
|
self.options['mimalloc'].override = True
|
|
self.options['mimalloc'].shared = True
|
|
|
|
self.options['stduuid'].with_cxx20_span = True
|
|
self.options['flatbuffers'].header_only = True
|
|
|
|
self.options["tracy"].on_demand = True
|
|
|
|
self.options["spirv-cross"].exceptions = False
|
|
|
|
self.options["benchmark"].enable_exceptions = False
|
|
self.options["benchmark"].enable_lto = True
|
|
|
|
def _require_with_fallback(self, pkg_name):
|
|
ref = f"{pkg_name}@bigfootdev/{self.options.packages_channel}"
|
|
fallback_ref = f"{pkg_name}@bigfootdev/main"
|
|
|
|
try:
|
|
self.output.info(f"Trying {ref}")
|
|
self.requires(ref)
|
|
except ConanException:
|
|
self.output.warn(f"{ref} not found, falling back to {fallback_ref}")
|
|
self.requires(fallback_ref)
|
|
|
|
def requirements(self):
|
|
|
|
bigfoot_packages = [
|
|
"eastl/3.27.01",
|
|
"unordered_dense/4.8.1",
|
|
"mimalloc/3.1.5",
|
|
"stduuid/1.2.3",
|
|
"sqlite3/3.51.0",
|
|
"rapidhash/3.0",
|
|
"flatbuffers/25.12.19",
|
|
"lodepng/cci.20250727",
|
|
"vulkan-validationlayers/1.4.313.0",
|
|
"vulkan-memory-allocator/3.3.0",
|
|
"pixelmatch-cpp17/1.0.3",
|
|
"shaderc/2025.3",
|
|
"meshoptimizer/1.0",
|
|
]
|
|
|
|
for pkg in bigfoot_packages:
|
|
self._require_with_fallback(pkg)
|
|
|
|
self.requires("cli11/2.6.0")
|
|
self.requires("effolkronium-random/1.5.0")
|
|
|
|
self.requires("quill/11.0.2")
|
|
self.requires("tracy/0.12.2")
|
|
self.requires("cpptrace/1.0.4")
|
|
|
|
self.requires("glm/1.0.1")
|
|
self.requires("imgui/1.92.5-docking")
|
|
|
|
self.requires("glfw/3.4")
|
|
|
|
self.requires("vulkan-headers/1.4.313.0")
|
|
self.requires("spirv-cross/1.4.313.0")
|
|
|
|
self.requires("gtest/1.17.0")
|
|
|
|
self.requires("stb/cci.20240531", override=True)
|
|
self.requires("assimp/6.0.2")
|
|
self.requires("libsquish/1.15")
|
|
|
|
self.requires("benchmark/1.9.4")
|
|
|