Vulkan packages #8

Merged
rboullard merged 25 commits from Development into main 2026-04-12 21:35:06 +00:00
5 changed files with 29 additions and 9 deletions
Showing only changes of commit 17eea3fe02 - Show all commits

View File

@@ -60,6 +60,9 @@ class GlslangConan(ConanFile):
def requirements(self): def requirements(self):
if self.options.enable_optimizer: if self.options.enable_optimizer:
if Version(self.version) >= "1.4.341.0":
self.requires(f"spirv-tools/{self.version}@{self.user}/{self.channel}")
else:
self.requires(f"spirv-tools/{self.version}") self.requires(f"spirv-tools/{self.version}")
def validate(self): def validate(self):

View File

@@ -51,6 +51,11 @@ class ShadercConan(ConanFile):
def requirements(self): def requirements(self):
# transitive_headers=True is not required for any of the dependencies # transitive_headers=True is not required for any of the dependencies
if Version(self.version) >= "1.4.341.0":
self.requires(f"glslang/{self._spirv_version}@{self.user}/{self.channel}")
self.requires(f"spirv-tools/{self._spirv_version}@{self.user}/{self.channel}")
self.requires(f"spirv-headers/{self._spirv_version}@{self.user}/{self.channel}")
else:
self.requires(f"glslang/{self._spirv_version}") self.requires(f"glslang/{self._spirv_version}")
self.requires(f"spirv-tools/{self._spirv_version}") self.requires(f"spirv-tools/{self._spirv_version}")
self.requires(f"spirv-headers/{self._spirv_version}") self.requires(f"spirv-headers/{self._spirv_version}")

View File

@@ -47,6 +47,9 @@ class SpirvtoolsConan(ConanFile):
cmake_layout(self, src_folder="src") cmake_layout(self, src_folder="src")
def requirements(self): def requirements(self):
if Version(self.version) >= "1.4.341.0":
self.requires(f"spirv-headers/{self.version}@{self.user}/{self.channel}")
else:
self.requires(f"spirv-headers/{self.version}") self.requires(f"spirv-headers/{self.version}")
def validate_build(self): def validate_build(self):

View File

@@ -29,7 +29,7 @@ class VulkanMemoryAllocatorConan(ConanFile):
basic_layout(self, src_folder="src") basic_layout(self, src_folder="src")
def requirements(self): def requirements(self):
self.requires("vulkan-headers/1.4.341.0") self.requires(f"vulkan-headers/1.4.341.0@{self.user}/{self.channel}")
def package_id(self): def package_id(self):
self.info.clear() self.info.clear()

View File

@@ -101,14 +101,23 @@ class VulkanValidationLayersConan(ConanFile):
def requirements(self): def requirements(self):
self.requires("robin-hood-hashing/3.11.5") self.requires("robin-hood-hashing/3.11.5")
if Version(conan_version).minor >= "1.4.341":
self.requires(f"{self._require("spirv-headers")}@{self.user}/{self.channel}")
else:
self.requires(self._require("spirv-headers")) self.requires(self._require("spirv-headers"))
if Version(conan_version).minor >= "1.4.313": if Version(conan_version).minor >= "1.4.313":
self.requires(f"{self._require("vulkan-utility-libraries")}@{self.user}/{self.channel}", transitive_headers=True) self.requires(f"{self._require("vulkan-utility-libraries")}@{self.user}/{self.channel}", transitive_headers=True)
if Version(conan_version).major < "2": if Version(conan_version).major < "2":
# TODO: set private=True, once the issue is resolved https://github.com/conan-io/conan/issues/9390 # TODO: set private=True, once the issue is resolved https://github.com/conan-io/conan/issues/9390
self.requires(self._require("spirv-tools"), private=not hasattr(self, "settings_build")) self.requires(self._require("spirv-tools"), private=not hasattr(self, "settings_build"))
else:
if Version(conan_version).minor >= "1.4.341":
self.requires(f"{self._require("spirv-tools")}@{self.user}/{self.channel}")
else: else:
self.requires(self._require("spirv-tools")) self.requires(self._require("spirv-tools"))
if Version(conan_version).minor >= "1.4.341":
self.requires(f"{self._require("vulkan-headers")}@{self.user}/{self.channel}", transitive_headers=True)
else:
self.requires(self._require("vulkan-headers"), transitive_headers=True) self.requires(self._require("vulkan-headers"), transitive_headers=True)
if self.options.get_safe("with_wsi_xcb") or self.options.get_safe("with_wsi_xlib"): if self.options.get_safe("with_wsi_xcb") or self.options.get_safe("with_wsi_xlib"):
self.requires("xorg/system") self.requires("xorg/system")