set(COMMON_SHARED_SRC vulkan_test.cc) set(TEST_SRC hipExternalMemoryGetMappedBuffer.cc hipImportExternalMemory.cc hipDestroyExternalMemory.cc hipWaitExternalSemaphoresAsync.cc hipSignalExternalSemaphoresAsync.cc hipImportExternalSemaphore.cc hipDestroyExternalSemaphore.cc hipGraphAddExternalSemaphoresSignalNode.cc hipGraphExternalSemaphoresSignalNodeSetParams.cc hipGraphExternalSemaphoresSignalNodeGetParams.cc hipGraphExecExternalSemaphoresSignalNodeSetParams.cc hipGraphAddExternalSemaphoresWaitNode.cc hipGraphExternalSemaphoresWaitNodeSetParams.cc hipGraphExternalSemaphoresWaitNodeGetParams.cc hipGraphExecExternalSemaphoresWaitNodeSetParams.cc ) if(WIN32) set(Vulkan_LIBRARY $ENV{VULKAN_SDK}/Lib/vulkan-l) else() # The code can be compiled in Linux, but some required instance extentions # aren't supported in Linux, thus test will fail at VulkanTest::CreateInstance() # with VK_ERROR_EXTENSION_NOT_PRESENT(-7). # Now temperally ignore it in Linux message(STATUS "Ignore vulkan_interop test in Linux") return() endif() find_package(Vulkan) message(STATUS "Vulkan_FOUND: ${Vulkan_FOUND}") message(STATUS "Vulkan_LIBRARIES: ${Vulkan_LIBRARIES}") message(STATUS "Vulkan_INCLUDE_DIRS: ${Vulkan_INCLUDE_DIRS}") if(NOT Vulkan_FOUND) if (EXISTS "$ENV{VULKAN_SDK}") message(STATUS "FOUND VULKAN SDK: $ENV{VULKAN_SDK}") message(STATUS "Please check Vulkan_LIBRARY if it is missing. Ignore vulkan test!") return() else() message(STATUS "Vulkan sdk not found, interop test not enabled. Please set ENV VULKAN_SDK to enable the test") return() endif() endif() if(WIN32) set(LINKER_LIBS vulkan-1 advapi32) else() set(LINKER_LIBS vulkan) endif() #set(CMAKE_BUILD_TYPE DEBUG) include_directories(AFTER ${Vulkan_INCLUDE_DIRS}) link_directories(${Vulkan_INCLUDE_DIRS}/../bin;${Vulkan_INCLUDE_DIRS}/../lib) hip_add_exe_to_target(NAME VulkanInteropTest TEST_SRC ${TEST_SRC} TEST_TARGET_NAME build_tests COMMON_SHARED_SRC ${COMMON_SHARED_SRC} LINKER_LIBS ${LINKER_LIBS})