4
4
from conan .tools .build import check_min_cppstd
5
5
from conan .tools .cmake import CMake , CMakeDeps , CMakeToolchain , cmake_layout
6
6
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
8
8
from conan .tools .gnu import PkgConfigDeps
9
9
from conan .tools .scm import Version
10
10
import functools
@@ -172,11 +172,16 @@ def generate(self):
172
172
tc .variables ["INSTALL_TESTS" ] = False
173
173
tc .variables ["BUILD_LAYERS" ] = True
174
174
tc .variables ["BUILD_LAYER_SUPPORT_FILES" ] = True
175
+ tc .cache_variables ["SPIRV-Tools-opt_DIR" ] = self .generators_folder .replace ("\\ " , "/" )
175
176
tc .generate ()
176
177
177
178
deps = CMakeDeps (self )
178
179
deps .generate ()
179
180
181
+ save (self , os .path .join (self .generators_folder , "SPIRV-Tools-optConfig.cmake" ),
182
+ """include(CMakeFindDependencyMacro)
183
+ find_dependency(SPIRV-Tools)""" )
184
+
180
185
if self ._needs_pkg_config :
181
186
deps = PkgConfigDeps (self )
182
187
deps .generate ()
@@ -195,13 +200,6 @@ def _patch_sources(self):
195
200
"set(JSON_API_VERSION ${VulkanHeaders_VERSION})" ,
196
201
f"set(JSON_API_VERSION \" { sanitized_vk_version } \" )" ,
197
202
)
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
- )
205
203
if self .settings .os == "Android" :
206
204
# INFO: libVkLayer_utils.a: error: undefined symbol: __android_log_print
207
205
# https://github.com/KhronosGroup/Vulkan-ValidationLayers/commit/a26638ae9fdd8c40b56d4c7b72859a5b9a0952c9
0 commit comments