mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-26 19:51:11 +00:00
meson: Find MoltenVK with the objc++ compiler everywhere
When building for iOS in Cerbero, as of MoltenVK SDK 1.3.283, we have to statically link to libMoltenVK since it no longer ships a dylib. This requires linking to libc++, so we find the dep with the objc++ compiler to ensure that meson uses the right linker. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091>
This commit is contained in:
parent
adedac6bd9
commit
156a016313
2 changed files with 4 additions and 3 deletions
|
@ -117,7 +117,8 @@ if ['ios', 'darwin'].contains(host_system)
|
||||||
# retrieving the metal device from the VkDevice) which is currently waiting
|
# retrieving the metal device from the VkDevice) which is currently waiting
|
||||||
# on implementing a proper Metal extension for Vulkan
|
# on implementing a proper Metal extension for Vulkan
|
||||||
# https://github.com/KhronosGroup/MoltenVK/issues/492
|
# https://github.com/KhronosGroup/MoltenVK/issues/492
|
||||||
vulkan_dep = cc.find_library('MoltenVK', required : vulkan_opt)
|
objcpp = meson.get_compiler('objcpp')
|
||||||
|
vulkan_dep = objcpp.find_library('MoltenVK', required : vulkan_opt)
|
||||||
endif
|
endif
|
||||||
elif host_system == 'windows'
|
elif host_system == 'windows'
|
||||||
vulkan_root = run_command(python3, '-c', 'import os; print(os.environ.get("VK_SDK_PATH"))', check: false).stdout().strip()
|
vulkan_root = run_command(python3, '-c', 'import os; print(os.environ.get("VK_SDK_PATH"))', check: false).stdout().strip()
|
||||||
|
|
|
@ -91,9 +91,9 @@ applemedia_objcpp_args = []
|
||||||
vulkan_option = get_option('vulkan')
|
vulkan_option = get_option('vulkan')
|
||||||
vk_required = applemedia_option.enabled() and vulkan_option.enabled()
|
vk_required = applemedia_option.enabled() and vulkan_option.enabled()
|
||||||
if gstvulkan_dep.found() and have_objcpp and not vulkan_option.disabled()
|
if gstvulkan_dep.found() and have_objcpp and not vulkan_option.disabled()
|
||||||
moltenvk_dep = cc.find_library('MoltenVK', required: vk_required)
|
moltenvk_dep = objcpp.find_library('MoltenVK', required: vk_required)
|
||||||
metal_dep = dependency('appleframeworks', modules : ['Metal'], required: vk_required)
|
metal_dep = dependency('appleframeworks', modules : ['Metal'], required: vk_required)
|
||||||
have_mvk_header = cc.has_header('MoltenVK/vk_mvk_moltenvk.h', required: vk_required)
|
have_mvk_header = objcpp.has_header('MoltenVK/vk_mvk_moltenvk.h', required: vk_required)
|
||||||
if metal_dep.found() and moltenvk_dep.found() and have_mvk_header
|
if metal_dep.found() and moltenvk_dep.found() and have_mvk_header
|
||||||
applemedia_frameworks += [moltenvk_dep, gstvulkan_dep, metal_dep]
|
applemedia_frameworks += [moltenvk_dep, gstvulkan_dep, metal_dep]
|
||||||
applemedia_sources += [
|
applemedia_sources += [
|
||||||
|
|
Loading…
Reference in a new issue