| # 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_SIZEOF_VOID_P EQUAL 8) |
| find_library(VULKAN_LIBRARY NAMES vulkan-1 HINTS |
| "$ENV{VULKAN_SDK}/Lib" |
| "$ENV{VULKAN_SDK}/Bin" |
| "$ENV{VK_SDK_PATH}/Bin") |
| find_library(VULKAN_STATIC_LIBRARY NAMES vkstatic.1 HINTS |
| "$ENV{VULKAN_SDK}/Lib" |
| "$ENV{VULKAN_SDK}/Bin" |
| "$ENV{VK_SDK_PATH}/Bin") |
| else() |
| find_library(VULKAN_LIBRARY NAMES vulkan-1 HINTS |
| "$ENV{VULKAN_SDK}/Lib32" |
| "$ENV{VULKAN_SDK}/Bin32" |
| "$ENV{VK_SDK_PATH}/Bin32") |
| find_library(VULKAN_STATIC_LIBRARY NAMES vkstatic.1 HINTS |
| "$ENV{VULKAN_SDK}/Lib32" |
| "$ENV{VULKAN_SDK}/Bin32" |
| "$ENV{VK_SDK_PATH}/Bin32") |
| endif() |
| elseif (APPLE) |
| set(CMAKE_FIND_FRAMEWORK NEVER) |
| find_library(VULKAN_LIBRARY MoltenVK) |
| set(CMAKE_FIND_FRAMEWORK ONLY) |
| find_library(VULKAN_STATIC_LIBRARY MoltenVK) |
| find_path(VULKAN_INCLUDE_DIR NAMES vulkan/vulkan.h HINTS |
| "${VULKAN_LIBRARY}/Headers") |
| 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) |
| |