diff options
author | Matthäus G. Chajdas <cmake@anteru.net> | 2016-06-04 18:48:23 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-06-08 16:44:03 (GMT) |
commit | adf4df28caf621569d9d0d62011fc38773710319 (patch) | |
tree | f90eec161d660419198410031bb639b855e230f1 /Tests/FindVulkan/Test | |
parent | 6a22a7cf71c0f564a150717a31651f9730c808fc (diff) | |
download | CMake-adf4df28caf621569d9d0d62011fc38773710319.zip CMake-adf4df28caf621569d9d0d62011fc38773710319.tar.gz CMake-adf4df28caf621569d9d0d62011fc38773710319.tar.bz2 |
Add FindVulkan.cmake.
This adds FindVulkan with corresponding tests.
Diffstat (limited to 'Tests/FindVulkan/Test')
-rw-r--r-- | Tests/FindVulkan/Test/CMakeLists.txt | 15 | ||||
-rw-r--r-- | Tests/FindVulkan/Test/main.c | 29 |
2 files changed, 44 insertions, 0 deletions
diff --git a/Tests/FindVulkan/Test/CMakeLists.txt b/Tests/FindVulkan/Test/CMakeLists.txt new file mode 100644 index 0000000..0b13d53 --- /dev/null +++ b/Tests/FindVulkan/Test/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 3.4) +project(TestFindVulkan C) +include(CTest) + +SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../../) +find_package(Vulkan REQUIRED) + +add_executable(test_tgt main.c) +target_link_libraries(test_tgt Vulkan::Vulkan) +add_test(NAME test_tgt COMMAND test_tgt) + +add_executable(test_var main.c) +target_include_directories(test_var PRIVATE ${Vulkan_INCLUDE_DIRS}) +target_link_libraries(test_var PRIVATE ${Vulkan_LIBRARIES}) +add_test(NAME test_var COMMAND test_var) diff --git a/Tests/FindVulkan/Test/main.c b/Tests/FindVulkan/Test/main.c new file mode 100644 index 0000000..78dcb65 --- /dev/null +++ b/Tests/FindVulkan/Test/main.c @@ -0,0 +1,29 @@ +#include <vulkan/vulkan.h> + +int main() +{ + VkInstanceCreateInfo instanceCreateInfo = {}; + instanceCreateInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO; + + VkApplicationInfo applicationInfo = {}; + applicationInfo.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO; + applicationInfo.apiVersion = VK_API_VERSION_1_0; + applicationInfo.applicationVersion = VK_MAKE_VERSION(1, 0, 0); + applicationInfo.engineVersion = VK_MAKE_VERSION(1, 0, 0); + applicationInfo.pApplicationName = "CMake Test application"; + applicationInfo.pEngineName = "CMake Test Engine"; + + instanceCreateInfo.pApplicationInfo = &applicationInfo; + + VkInstance instance = VK_NULL_HANDLE; + vkCreateInstance(&instanceCreateInfo, NULL, &instance); + + // We can't assert here because in general vkCreateInstance will return an + // error if no driver is found - but if we get here, FindVulkan is working + + if (instance != VK_NULL_HANDLE) { + vkDestroyInstance (instance, NULL); + } + + return 0; +} |