Start refactoring CMakeLists.txt
This commit is contained in:
29
cmake/SetupVulkan.cmake
Normal file
29
cmake/SetupVulkan.cmake
Normal file
@@ -0,0 +1,29 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user