Files
OpenVulkano/cmake/SetupVulkan.cmake

29 lines
1.2 KiB
CMake

function(SetupVulkan TARGET)
if (APPLE)
# Try to find xcframework of MoltenVK
cmake_path(SET MoltenVK_path NORMALIZE "$ENV{VULKAN_SDK}/../MoltenVK/")
cmake_path(SET MoltenVK_XC_path NORMALIZE "$ENV{VULKAN_SDK}/../MoltenVK/MoltenVK.xcframework")
if (EXISTS "${MoltenVK_path}" AND EXISTS "${MoltenVK_XC_path}")
if (EXISTS "${MoltenVK_path}/include")
set(Vulkan_INCLUDE_DIR "${MoltenVK_path}/include")
endif()
target_link_libraries(MadVoxel_Scan PRIVATE "${MoltenVK_XC_path}/ios-arm64/libMoltenVK.a")
message("Found MoltenVK xcframework: ${MoltenVK_XC_path}")
endif()
else ()
find_package(Vulkan REQUIRED)
target_link_libraries(TARGET PRIVATE Vulkan::Vulkan)
endif ()
target_include_directories(TARGET PUBLIC ${Vulkan_INCLUDE_DIR})
if (ANDROID)
add_definitions(-DVK_USE_PLATFORM_ANDROID_KHR)
elseif (WIN32)
add_definitions(-DVK_USE_PLATFORM_WIN32_KHR)
elseif (LINUX)
add_definitions(-DVK_USE_PLATFORM_XCB_KHR)
find_package(XCB REQUIRED)
target_link_libraries(TARGET PRIVATE ${XCB_LIBRARIES})
endif()
endfunction()