CMake: Add MVK_USE_METAL_PRIVATE_API option

This commit is contained in:
m154k1
2025-10-19 16:27:57 +03:00
parent 1ab13c0656
commit 69fd695660
2 changed files with 13 additions and 2 deletions

View File

@@ -65,6 +65,8 @@ project(MoltenVK
set(MVK_CONFIG_LOG_LEVEL "info" CACHE STRING "Set the default log level for MoltenVK. Options are: debug, info, warn, error, off. Default is 'info'.")
set_property(CACHE MVK_CONFIG_LOG_LEVEL PROPERTY STRINGS "debug" "info" "warn" "error" "off")
option(MVK_USE_METAL_PRIVATE_API "If enabled, MoltenVK will use private interfaces exposed by Metal to implement Vulkan features that are difficult to support otherwise." OFF)
# Set default minimum C++ standard
if(MOLTEN_VK_TOPLEVEL_PROJECT)
set(CMAKE_CXX_STANDARD 17)
@@ -118,4 +120,4 @@ if(MOLTEN_VK_TOPLEVEL_PROJECT)
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig)
install(TARGETS MoltenVKShaderConverter)
endif()
endif()

View File

@@ -63,4 +63,13 @@ else()
endif()
target_compile_definitions(MoltenVK_Common PUBLIC
MVK_CONFIG_LOG_LEVEL=${MVK_CONFIG_LOG_LEVEL_NUM}
)
)
if(MVK_USE_METAL_PRIVATE_API)
set(MVK_USE_METAL_PRIVATE_API_NUM 1)
else()
set(MVK_USE_METAL_PRIVATE_API_NUM 0)
endif()
target_compile_definitions(MoltenVK_Common PUBLIC
MVK_USE_METAL_PRIVATE_API=${MVK_USE_METAL_PRIVATE_API_NUM}
)