Skip to content

Commit e650f00

Browse files
committed
Easier SPIRV-Tools-opt find_package
1 parent 286d408 commit e650f00

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

recipes/vulkan-validationlayers/all/conanfile.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from conan.tools.build import check_min_cppstd
55
from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
66
from conan.tools.env import VirtualBuildEnv
7-
from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, mkdir, rename, replace_in_file, rm
7+
from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, mkdir, rename, replace_in_file, rm, save
88
from conan.tools.gnu import PkgConfigDeps
99
from conan.tools.scm import Version
1010
import functools
@@ -172,11 +172,16 @@ def generate(self):
172172
tc.variables["INSTALL_TESTS"] = False
173173
tc.variables["BUILD_LAYERS"] = True
174174
tc.variables["BUILD_LAYER_SUPPORT_FILES"] = True
175+
tc.cache_variables["SPIRV-Tools-opt_DIR"] = self.generators_folder.replace("\\", "/")
175176
tc.generate()
176177

177178
deps = CMakeDeps(self)
178179
deps.generate()
179180

181+
save(self, os.path.join(self.generators_folder, "SPIRV-Tools-optConfig.cmake"),
182+
"""include(CMakeFindDependencyMacro)
183+
find_dependency(SPIRV-Tools)""")
184+
180185
if self._needs_pkg_config:
181186
deps = PkgConfigDeps(self)
182187
deps.generate()
@@ -195,13 +200,6 @@ def _patch_sources(self):
195200
"set(JSON_API_VERSION ${VulkanHeaders_VERSION})",
196201
f"set(JSON_API_VERSION \"{sanitized_vk_version}\")",
197202
)
198-
# FIXME: two CMake module/config files should be generated (SPIRV-ToolsConfig.cmake and SPIRV-Tools-optConfig.cmake),
199-
# but it can't be modeled right now in spirv-tools recipe
200-
if not os.path.exists(os.path.join(self.generators_folder, "SPIRV-Tools-optConfig.cmake")):
201-
shutil.copy(
202-
os.path.join(self.generators_folder, "SPIRV-ToolsConfig.cmake"),
203-
os.path.join(self.generators_folder, "SPIRV-Tools-optConfig.cmake"),
204-
)
205203
if self.settings.os == "Android":
206204
# INFO: libVkLayer_utils.a: error: undefined symbol: __android_log_print
207205
# https://github.com/KhronosGroup/Vulkan-ValidationLayers/commit/a26638ae9fdd8c40b56d4c7b72859a5b9a0952c9

0 commit comments

Comments
 (0)