|
|
|
@ -20,6 +20,11 @@ The GLFW library does not need the Vulkan SDK to enable support for Vulkan. |
|
|
|
|
However, any Vulkan-specific test and example programs are built only if the |
|
|
|
|
CMake files find a Vulkan SDK. |
|
|
|
|
|
|
|
|
|
@macos Because MoltenVK is typically not installed system-wide, you will need to |
|
|
|
|
point CMake to it using the `CMAKE_FRAMEWORK_PATH` variable when configuring the |
|
|
|
|
GLFW source tree. Set this variable to the `MoltenVK/macOS` subdirectory of the |
|
|
|
|
SDK, either on the command-line or in the CMake GUI. |
|
|
|
|
|
|
|
|
|
For details on a specific function in this category, see the @ref vulkan. There |
|
|
|
|
are also guides for the other areas of the GLFW API. |
|
|
|
|
|
|
|
|
@ -34,19 +39,18 @@ are also guides for the other areas of the GLFW API. |
|
|
|
|
|
|
|
|
|
By default, GLFW will look for the Vulkan loader on demand at runtime via its |
|
|
|
|
standard name (`vulkan-1.dll` on Windows, `libvulkan.so.1` on Linux and other |
|
|
|
|
Unix-like systems). This means that GLFW does not need to be linked against the |
|
|
|
|
loader. However, it also means that if you are using the static library form of |
|
|
|
|
the Vulkan loader GLFW will either fail to find it or (worse) use the wrong one. |
|
|
|
|
Unix-like systems and `libMoltenVK.dylib` on macOS). This means that GLFW does |
|
|
|
|
not need to be linked against the loader. However, it also means that if you |
|
|
|
|
are using the static library form of the Vulkan loader GLFW will either fail to |
|
|
|
|
find it or (worse) use the wrong one. |
|
|
|
|
|
|
|
|
|
The @ref GLFW_VULKAN_STATIC CMake option makes GLFW link directly against the |
|
|
|
|
static form. Not linking against the Vulkan loader will then be a compile-time |
|
|
|
|
error. |
|
|
|
|
|
|
|
|
|
@macos MoltenVK only provides the static library form of the Vulkan loader, but |
|
|
|
|
GLFW is able to find it without @ref GLFW_VULKAN_STATIC as long as it is linked |
|
|
|
|
into any of the binaries already loaded into the process. As it is a static |
|
|
|
|
library, you must also link against its dependencies: the `Cocoa`, `Metal` and |
|
|
|
|
`QuartzCore` frameworks and the `libc++` library. |
|
|
|
|
static library form. Not linking against the Vulkan loader will then be |
|
|
|
|
a compile-time error. |
|
|
|
|
|
|
|
|
|
@macos When using the static library form of MoltenVK (i.e. `MetalVK.framework` |
|
|
|
|
and not `libMoltenVK.dylib`) you must also link against its dependencies: the |
|
|
|
|
`Cocoa`, `Metal` and `QuartzCore` system frameworks and the `libc++` library. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@section vulkan_include Including the Vulkan and GLFW header files |
|
|
|
|