mirror of
https://github.com/glfw/glfw.git
synced 2024-11-22 10:05:10 +00:00
e94d16667b
This adds basic support for MoltenVK, a Vulkan implementation on top of Metal, on macOS 10.11 and later. It looks for MoltenVK in the process via RTLD_DEFAULT symbol lookup if _GLFW_VULKAN_STATIC is disabled. glfwCreateWindowSurface now creates and sets a CAMetalLayer for the window content view, which is required for MoltenVK to function. You must help CMake find MoltenVK for the Vulkan test to be built. Fixes #870.
42 lines
1.3 KiB
CMake
42 lines
1.3 KiB
CMake
# Find Vulkan
|
|
#
|
|
# VULKAN_INCLUDE_DIR
|
|
# VULKAN_LIBRARY
|
|
# VULKAN_FOUND
|
|
|
|
if (WIN32)
|
|
find_path(VULKAN_INCLUDE_DIR NAMES vulkan/vulkan.h HINTS
|
|
"$ENV{VULKAN_SDK}/Include"
|
|
"$ENV{VK_SDK_PATH}/Include")
|
|
if (CMAKE_CL_64)
|
|
find_library(VULKAN_LIBRARY NAMES vulkan-1 HINTS
|
|
"$ENV{VULKAN_SDK}/Bin"
|
|
"$ENV{VK_SDK_PATH}/Bin")
|
|
find_library(VULKAN_STATIC_LIBRARY NAMES vkstatic.1 HINTS
|
|
"$ENV{VULKAN_SDK}/Bin"
|
|
"$ENV{VK_SDK_PATH}/Bin")
|
|
else()
|
|
find_library(VULKAN_LIBRARY NAMES vulkan-1 HINTS
|
|
"$ENV{VULKAN_SDK}/Bin32"
|
|
"$ENV{VK_SDK_PATH}/Bin32")
|
|
endif()
|
|
elseif (APPLE)
|
|
find_library(VULKAN_LIBRARY MoltenVK)
|
|
if (VULKAN_LIBRARY)
|
|
set(VULKAN_STATIC_LIBRARY ${VULKAN_LIBRARY})
|
|
find_path(VULKAN_INCLUDE_DIR NAMES vulkan/vulkan.h HINTS
|
|
"${VULKAN_LIBRARY}/Headers")
|
|
endif()
|
|
else()
|
|
find_path(VULKAN_INCLUDE_DIR NAMES vulkan/vulkan.h HINTS
|
|
"$ENV{VULKAN_SDK}/include")
|
|
find_library(VULKAN_LIBRARY NAMES vulkan HINTS
|
|
"$ENV{VULKAN_SDK}/lib")
|
|
endif()
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(Vulkan DEFAULT_MSG VULKAN_LIBRARY VULKAN_INCLUDE_DIR)
|
|
|
|
mark_as_advanced(VULKAN_INCLUDE_DIR VULKAN_LIBRARY VULKAN_STATIC_LIBRARY)
|
|
|