1*da0073e9SAndroid Build Coastguard Workerif(NOT USE_VULKAN) 2*da0073e9SAndroid Build Coastguard Worker return() 3*da0073e9SAndroid Build Coastguard Workerendif() 4*da0073e9SAndroid Build Coastguard Worker 5*da0073e9SAndroid Build Coastguard Workerif(ANDROID) 6*da0073e9SAndroid Build Coastguard Worker if(NOT ANDROID_NDK) 7*da0073e9SAndroid Build Coastguard Worker message(FATAL_ERROR "USE_VULKAN requires ANDROID_NDK set.") 8*da0073e9SAndroid Build Coastguard Worker endif() 9*da0073e9SAndroid Build Coastguard Worker 10*da0073e9SAndroid Build Coastguard Worker # Vulkan from ANDROID_NDK 11*da0073e9SAndroid Build Coastguard Worker set(VULKAN_INCLUDE_DIR "${ANDROID_NDK}/sources/third_party/vulkan/src/include") 12*da0073e9SAndroid Build Coastguard Worker message(STATUS "VULKAN_INCLUDE_DIR:${VULKAN_INCLUDE_DIR}") 13*da0073e9SAndroid Build Coastguard Worker 14*da0073e9SAndroid Build Coastguard Worker set(VULKAN_ANDROID_NDK_WRAPPER_DIR "${ANDROID_NDK}/sources/third_party/vulkan/src/common") 15*da0073e9SAndroid Build Coastguard Worker message(STATUS "Vulkan_ANDROID_NDK_WRAPPER_DIR:${VULKAN_ANDROID_NDK_WRAPPER_DIR}") 16*da0073e9SAndroid Build Coastguard Worker set(VULKAN_WRAPPER_DIR "${VULKAN_ANDROID_NDK_WRAPPER_DIR}") 17*da0073e9SAndroid Build Coastguard Worker 18*da0073e9SAndroid Build Coastguard Worker add_library( 19*da0073e9SAndroid Build Coastguard Worker VulkanWrapper 20*da0073e9SAndroid Build Coastguard Worker STATIC 21*da0073e9SAndroid Build Coastguard Worker ${VULKAN_WRAPPER_DIR}/vulkan_wrapper.h 22*da0073e9SAndroid Build Coastguard Worker ${VULKAN_WRAPPER_DIR}/vulkan_wrapper.cpp) 23*da0073e9SAndroid Build Coastguard Worker 24*da0073e9SAndroid Build Coastguard Worker target_include_directories(VulkanWrapper PUBLIC .) 25*da0073e9SAndroid Build Coastguard Worker target_include_directories(VulkanWrapper PUBLIC "${VULKAN_INCLUDE_DIR}") 26*da0073e9SAndroid Build Coastguard Worker target_link_libraries(VulkanWrapper ${CMAKE_DL_LIBS}) 27*da0073e9SAndroid Build Coastguard Worker 28*da0073e9SAndroid Build Coastguard Worker string(APPEND Vulkan_DEFINES " -DUSE_VULKAN_WRAPPER") 29*da0073e9SAndroid Build Coastguard Worker list(APPEND Vulkan_INCLUDES ${VULKAN_WRAPPER_DIR}) 30*da0073e9SAndroid Build Coastguard Worker list(APPEND Vulkan_LIBS VulkanWrapper) 31*da0073e9SAndroid Build Coastguard Worker 32*da0073e9SAndroid Build Coastguard Workerelse() 33*da0073e9SAndroid Build Coastguard Worker find_package(Vulkan) 34*da0073e9SAndroid Build Coastguard Worker 35*da0073e9SAndroid Build Coastguard Worker if(NOT Vulkan_FOUND) 36*da0073e9SAndroid Build Coastguard Worker message(FATAL_ERROR "USE_VULKAN requires either Vulkan installed on system path or environment var VULKAN_SDK set.") 37*da0073e9SAndroid Build Coastguard Worker endif() 38*da0073e9SAndroid Build Coastguard Worker 39*da0073e9SAndroid Build Coastguard Worker list(APPEND Vulkan_INCLUDES ${Vulkan_INCLUDE_DIRS}) 40*da0073e9SAndroid Build Coastguard Worker list(APPEND Vulkan_LIBS ${Vulkan_LIBRARIES}) 41*da0073e9SAndroid Build Coastguard Worker 42*da0073e9SAndroid Build Coastguard Worker set(GOOGLE_SHADERC_INCLUDE_SEARCH_PATH ${Vulkan_INCLUDE_DIR}) 43*da0073e9SAndroid Build Coastguard Worker set(GOOGLE_SHADERC_LIBRARY_SEARCH_PATH ${Vulkan_LIBRARY}) 44*da0073e9SAndroid Build Coastguard Workerendif() 45