Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
fe15032
spirv-headers | spirv-tools | vulkan-headers | vulkan-loader
ErniGH Dec 4, 2025
b5ba23d
glslang | spirv-cross | spirv-reflect | vk-boostrap | volk
ErniGH Dec 5, 2025
fcecfbc
vulkan-utility-libraries
ErniGH Dec 5, 2025
dcbf177
testing vulkan-validationlayers
ErniGH Dec 5, 2025
39f1466
Move 1.4 to its own folder
AbrilRBS Dec 9, 2025
832af46
uups
AbrilRBS Dec 9, 2025
1b6cdf3
wip
ErniGH Dec 9, 2025
193e1f7
Missing dependnecies after cherry-pick
AbrilRBS Dec 9, 2025
1dc72b7
Python 3.7 support
AbrilRBS Dec 9, 2025
74daa13
spv_remapper
ErniGH Dec 9, 2025
bce3f98
Merge branch 'erni/update-vulkan-1.4.328.1' of https://github.com/Ern…
ErniGH Dec 9, 2025
9b13eb1
No need to keep comented code around
AbrilRBS Dec 9, 2025
342cd16
fix unused function
ErniGH Dec 9, 2025
38db0a0
refactor vulkan_headers_dependency
ErniGH Dec 9, 2025
b89713f
dict, not array
AbrilRBS Dec 9, 2025
68248f9
keep camel case
ErniGH Dec 9, 2025
294531d
Fix Cmake version, fix headers requirement
AbrilRBS Dec 9, 2025
5f36221
typo
AbrilRBS Dec 9, 2025
1895bbe
Update to latest version
AbrilRBS Dec 23, 2025
fc3af18
Issue was fixed
AbrilRBS Dec 23, 2025
db4ad59
Remove old 0.7 from vk-boostrap
AbrilRBS Jan 28, 2026
d9768fd
Update to 1.4.341.0
AbrilRBS Feb 10, 2026
bcfac02
Remove unecessary recipe changes
AbrilRBS Feb 10, 2026
163c860
Update requirement versions!
AbrilRBS Feb 10, 2026
76faa9a
Updated ALL to latest 1.4.350.0 version. Removed oldest and useless v…
franramirez688 May 14, 2026
33be42b
vulkan-utility-libraries is static lib. Removed useless variables and…
franramirez688 May 18, 2026
ec1dd4f
Exposing the shared lib on the runtime context
franramirez688 May 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions recipes/glslang/all/conandata.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# Add only the SDK release versions from https://github.com/KhronosGroup/glslang/tags for consistency
sources:
"1.4.350.0":
url: "https://github.com/KhronosGroup/glslang/archive/refs/tags/vulkan-sdk-1.4.350.0.tar.gz"
sha256: "a6885b1631fd77c89cd689b939cf2b3032c5ec13ee99250270d34bcad1efc10c"
"1.4.313.0":
url: "https://github.com/KhronosGroup/glslang/archive/refs/tags/vulkan-sdk-1.4.313.0.tar.gz"
sha256: "555ac780ccceca926fa25775834639ce6ffc744120bfb68fb8657dd4032d21ee"
Expand All @@ -18,6 +21,3 @@ sources:
"1.3.236.0":
url: "https://github.com/KhronosGroup/glslang/archive/refs/tags/sdk-1.3.236.0.tar.gz"
sha256: "fb6f323a36efcd98766bb72f598008f73c4c92bce69c79fc98ad2b3cdca0c263"
"1.2.198.0":
url: "https://github.com/KhronosGroup/glslang/archive/refs/tags/sdk-1.2.198.0.tar.gz"
sha256: "b2a0541caf01de4fc411cbb32c805a3bd0f6578432e532c5fa6336d187a4a1b1"
6 changes: 4 additions & 2 deletions recipes/glslang/all/conanfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ def export_sources(self):
def config_options(self):
if self.settings.os == "Windows":
del self.options.fPIC
if Version(self.version) >= "1.4.328.1":
del self.options.spv_remapper

def configure(self):
if self.options.shared:
Expand Down Expand Up @@ -90,7 +92,7 @@ def generate(self):
tc.variables["BUILD_EXTERNAL"] = False
tc.variables["SKIP_GLSLANG_INSTALL"] = False
tc.cache_variables["GLSLANG_ENABLE_INSTALL"] = True
tc.variables["ENABLE_SPVREMAPPER"] = self.options.spv_remapper
tc.variables["ENABLE_SPVREMAPPER"] = self.options.get_safe("spv_remapper")
tc.variables["ENABLE_GLSLANG_BINARIES"] = self.options.build_executables
tc.variables["ENABLE_GLSLANG_JS"] = False
tc.variables["ENABLE_GLSLANG_WEBMIN"] = False
Expand Down Expand Up @@ -217,7 +219,7 @@ def package_info(self):
self.cpp_info.components["glslang-core"].requires.append("hlsl")

# SPVRemapper
if self.options.spv_remapper:
if self.options.get_safe("spv_remapper"):
self.cpp_info.components["spvremapper"].set_property("cmake_target_name", "glslang::SPVRemapper")
self.cpp_info.components["spvremapper"].libs = [f"SPVRemapper{lib_suffix}"]

Expand Down
4 changes: 2 additions & 2 deletions recipes/glslang/config.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
versions:
"1.4.350.0":
folder: all
"1.4.313.0":
folder: all
"1.3.268.0":
Expand All @@ -11,5 +13,3 @@ versions:
folder: all
"1.3.236.0":
folder: all
"1.2.198.0":
folder: all
7 changes: 3 additions & 4 deletions recipes/spirv-cross/all/conandata.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
sources:
"1.4.350.0":
url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/refs/tags/vulkan-sdk-1.4.350.0.tar.gz"
sha256: "fbf9bee521545557357679173d39787a954bd8187e4b2fcaa09044c70201b434"
"1.4.321.0":
url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/refs/tags/vulkan-sdk-1.4.321.0.tar.gz"
sha256: "6037555620c27105bf1d4068a6eeb4b0d7953630d556a1ca9799dfe06fd2fb68"
Expand Down Expand Up @@ -29,7 +32,3 @@ sources:
"1.3.239.0":
url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/refs/tags/sdk-1.3.239.0.tar.gz"
sha256: "a1695022880e7ef3c2d407647f79876045dc2a3ed012753adc71ead5cc5178ba"
# commit used in Vulkan SDK 1.2.198.0
"cci.20211113":
url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/7c3cb0b12c9965497b08403c82ac1b82846fa7be.tar.gz"
sha256: "5bb6837e2b75db1a9e36e7d6eac40d905e3460ff3b5234f391adc6bdf6aadcdf"
6 changes: 3 additions & 3 deletions recipes/spirv-cross/config.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
versions:
"1.4.350.0":
folder: all
"1.4.321.0":
folder: all
"1.4.313.0":
folder: all
"1.4.309.0":
folder: all
"1.3.296.0":
folder: all
folder: all
"1.3.268.0":
folder: all
"1.3.261.1":
Expand All @@ -19,5 +21,3 @@ versions:
folder: all
"1.3.239.0":
folder: all
"cci.20211113":
folder: all
6 changes: 3 additions & 3 deletions recipes/spirv-headers/all/conandata.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
sources:
"1.4.350.0":
url: "https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/vulkan-sdk-1.4.350.0.tar.gz"
sha256: "9905d9341f20388adb852c77dd982f2c4d539fd68e6c1f1bcebf034715f2d1d5"
"1.4.313.0":
url: "https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/vulkan-sdk-1.4.313.0.tar.gz"
sha256: "f68be549d74afb61600a1e3a7d1da1e6b7437758c8e77d664909f88f302c5ac1"
Expand All @@ -20,6 +23,3 @@ sources:
"1.3.239.0":
url: "https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/sdk-1.3.239.0.tar.gz"
sha256: "fdaf6670e311cd1c08ae90bf813e89dd31630205bc60030ffd25fb0af39b51fe"
"1.2.198.0":
url: "https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/sdk-1.2.198.0.tar.gz"
sha256: "3301a23aca0434336a643e433dcacacdd60000ab3dd35dc0078a297c06124a12"
4 changes: 2 additions & 2 deletions recipes/spirv-headers/config.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
versions:
"1.4.350.0":
folder: all
"1.4.313.0":
folder: all
"1.4.309.0":
Expand All @@ -13,5 +15,3 @@ versions:
folder: all
"1.3.239.0":
folder: all
"1.2.198.0":
folder: all
3 changes: 3 additions & 0 deletions recipes/spirv-reflect/all/conandata.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
sources:
"1.4.350.0":
url: "https://github.com/KhronosGroup/SPIRV-Reflect/archive/refs/tags/vulkan-sdk-1.4.350.0.tar.gz"
sha256: "c81ea49449d77189574ce0ff1374350533c283f41a9dd1b59f351c26961302b9"
"1.4.313.0":
url: "https://github.com/KhronosGroup/SPIRV-Reflect/archive/refs/tags/vulkan-sdk-1.4.313.0.tar.gz"
sha256: "a72129e23ffdf98978b0e60fcf24a14039503383cb077462677a1c59ffd168f0"
2 changes: 2 additions & 0 deletions recipes/spirv-reflect/config.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
versions:
"1.4.350.0":
folder: all
"1.4.313.0":
folder: all
6 changes: 3 additions & 3 deletions recipes/spirv-tools/all/conandata.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# Add only the SDK release versions from https://github.com/KhronosGroup/SPIRV-Tools/tags for consistency
sources:
"1.4.350.0":
url: "https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/vulkan-sdk-1.4.350.0.tar.gz"
sha256: "446b288fe76d3f31bbf9a405d62b97020ac0f135edb0ed5dbdf1136c488138f5"
"1.4.313.0":
url: "https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/vulkan-sdk-1.4.313.0.tar.gz"
sha256: "6b60f723345ceed5291cceebbcfacf7fea9361a69332261fa08ae57e2a562005"
Expand All @@ -21,9 +24,6 @@ sources:
"1.3.236.0":
url: "https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/sdk-1.3.236.0.tar.gz"
sha256: "6789c782a8ba8fa127c3d579f9362f0cdde7a9ccc2e8513cdf217bba579dfda9"
"1.2.198.0":
url: "https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/sdk-1.2.198.0.tar.gz"
sha256: "e8a9fec946f8473129374ad6b98ee690ac9a4574ace7cb3b46bbeb4eddfdc33b"
patches:
"1.4.313.0":
- patch_file: "patches/0001-fix-clang-20-build-issue.patch"
Expand Down
4 changes: 2 additions & 2 deletions recipes/spirv-tools/config.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
versions:
"1.4.350.0":
folder: all
"1.4.313.0":
folder: all
"1.4.309.0":
Expand All @@ -13,5 +15,3 @@ versions:
folder: all
"1.3.236.0":
folder: all
"1.2.198.0":
folder: all
9 changes: 6 additions & 3 deletions recipes/vk-bootstrap/all/conandata.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
sources:
"1.4.350":
url: "https://github.com/charles-lunarg/vk-bootstrap/archive/refs/tags/v1.4.350.tar.gz"
sha256: "848637567c472ee334ea7b694e82c5c9f8966c9a8fa8e687a985223cae2c0c1e"
"1.3.296":
url: "https://github.com/charles-lunarg/vk-bootstrap/archive/refs/tags/v1.3.296.tar.gz"
sha256: "fbff2746134459648a488588a71609d11e6e00f591ac4a3cc6683a131bf31a53"
"0.7":
url: "https://github.com/charles-lunarg/vk-bootstrap/archive/refs/tags/v0.7.tar.gz"
sha256: "7b2c30a4c46514cc5b20d2bebab25c495df39574b9e117c760d1cfe19f71d9aa"
vulkan_headers_dependency:
"1.4.350": "1.4.350.0"
"1.3.296": "1.3.296.0"
64 changes: 13 additions & 51 deletions recipes/vk-bootstrap/all/conanfile.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
from conan import ConanFile
from conan.errors import ConanInvalidConfiguration
from conan.tools.build import check_min_cppstd, stdcpp_library
from conan.tools.build import check_min_cppstd
from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout
from conan.tools.files import copy, get, rm, replace_in_file
from conan.tools.microsoft import is_msvc
from conan.tools.scm import Version
import os

required_conan_version = ">=1.54.0"
required_conan_version = ">=2"


class VkBootstrapConan(ConanFile):
Expand All @@ -29,20 +29,6 @@ class VkBootstrapConan(ConanFile):
"fPIC": True,
}

@property
def _min_cppstd(self):
return "17" if Version(self.version) >= "1.3.270" else "14"

@property
def _compilers_minimum_version(self):
return {
"gcc": "5",
"Visual Studio": "15",
"msvc": "191",
"clang": "3.7" if stdcpp_library(self) == "stdc++" else "6",
"apple-clang": "10",
}

def config_options(self):
if self.settings.os == "Windows":
del self.options.fPIC
Expand All @@ -55,58 +41,34 @@ def layout(self):
cmake_layout(self, src_folder="src")

def requirements(self):
if Version(self.version) > Version("1.0"):
self.requires(f"vulkan-headers/{self.version}.0", transitive_headers=True)
else:
self.requires("vulkan-headers/1.3.239.0", transitive_headers=True)

def validate(self):
if self.settings.compiler.get_safe("cppstd"):
check_min_cppstd(self, self._min_cppstd)
self.requires(f"vulkan-headers/{self.conan_data['vulkan_headers_dependency'][self.version]}", transitive_headers=True)

def loose_lt_semver(v1, v2):
lv1 = [int(v) for v in v1.split(".")]
lv2 = [int(v) for v in v2.split(".")]
min_length = min(len(lv1), len(lv2))
return lv1[:min_length] < lv2[:min_length]

minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False)
if minimum_version and loose_lt_semver(str(self.settings.compiler.version), minimum_version):
raise ConanInvalidConfiguration(
f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.",
)
def build_requirements(self):
if Version(self.version) >= "1.4.335":
self.tool_requires("cmake/[>=3.22]")

def validate(self):
check_min_cppstd(self, 17)
if is_msvc(self) and self.options.get_safe("shared"):
raise ConanInvalidConfiguration(f"{self.ref} shared not supported with Visual Studio")

def source(self):
get(self, **self.conan_data["sources"][self.version], strip_root=True)
# INFO: The upstream did not forbid the use of shared libraries
# https://github.com/charles-lunarg/vk-bootstrap/issues/367
replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"),
"add_library(vk-bootstrap STATIC",
"add_library(vk-bootstrap ")

def generate(self):
tc = CMakeToolchain(self)
tc.variables["VK_BOOTSTRAP_TEST"] = False
tc.variables["VK_BOOTSTRAP_WERROR"] = False
if Version(self.version) < Version("1.0"):
vulkan_headers = self.dependencies["vulkan-headers"]
includedirs = ";".join(
[os.path.join(vulkan_headers.package_folder, includedir).replace("\\", "/")
for includedir in vulkan_headers.cpp_info.includedirs],
)
tc.variables["VK_BOOTSTRAP_VULKAN_HEADER_DIR"] = includedirs
tc.generate()
deps = CMakeDeps(self)
deps.generate()

def _source_patches(self):
if Version(self.version) >= "1.3.266":
# INFO: The upstream did not forbid the use of shared libraries
# https://github.com/charles-lunarg/vk-bootstrap/issues/367
replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"),
"add_library(vk-bootstrap STATIC",
"add_library(vk-bootstrap ")

def build(self):
self._source_patches()
cmake = CMake(self)
cmake.configure()
cmake.build()
Expand Down
4 changes: 2 additions & 2 deletions recipes/vk-bootstrap/config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
versions:
"1.4.350":
folder: all
"1.3.296":
folder: all
"0.7":
folder: all
6 changes: 3 additions & 3 deletions recipes/volk/all/conandata.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
sources:
"1.4.350.0":
url: "https://github.com/zeux/volk/archive/refs/tags/vulkan-sdk-1.4.350.0.tar.gz"
sha256: "a04f26f76e9a4f9acf936bd2c159f5c4c8348f8ebaf118ff72ba6a9637ad3e80"
"1.4.313.0":
url: "https://github.com/zeux/volk/archive/refs/tags/vulkan-sdk-1.4.313.0.tar.gz"
sha256: "d86bcf1aff499f41a3e445b55df5e393a5ce49b1bda689eb7335b0a0a54a3c0b"
Expand All @@ -20,6 +23,3 @@ sources:
"1.3.239.0":
url: "https://github.com/zeux/volk/archive/refs/tags/sdk-1.3.239.0.tar.gz"
sha256: "b628ae7d4e554c20763ac34e1fd18b87725c0c346e2a7106fa23701877bbac65"
"1.2.198":
url: "https://github.com/zeux/volk/archive/refs/tags/1.2.198.tar.gz"
sha256: "8f3869d94ccce265eaef064b1be0af2d8de925e512d3413c1cf02591b99597e2"
4 changes: 2 additions & 2 deletions recipes/volk/config.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
versions:
"1.4.350.0":
folder: "all"
"1.4.313.0":
folder: "all"
"1.3.296.0":
Expand All @@ -13,5 +15,3 @@ versions:
folder: "all"
"1.3.239.0":
folder: "all"
"1.2.198":
folder: "all"
6 changes: 3 additions & 3 deletions recipes/vulkan-headers/all/conandata.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
sources:
"1.4.350.0":
url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/vulkan-sdk-1.4.350.0.tar.gz"
sha256: "70270d10bf2c1e074a06ee37a50b75d332993d1b80a1d9526eeed2da6d82ed22"
"1.4.313.0":
url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/vulkan-sdk-1.4.313.0.tar.gz"
sha256: "20743c99a96c07290f24377360e7a12bdd2c465ba202e0c7ef2ec25d446cf61d"
Expand Down Expand Up @@ -26,6 +29,3 @@ sources:
"1.3.239.0":
url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/sdk-1.3.239.0.tar.gz"
sha256: "865fa8e8e8314fcca60777a92f50bd0cf612205a36e719d6975482d3366f619e"
"1.2.198.0":
url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/sdk-1.2.198.0.tar.gz"
sha256: "34782c61cad9b3ccf2fa0a31ec397d4fce99490500b4f3771cb1a48713fece80"
Loading