diff --git a/src/Magnum/Vk/Test/CMakeLists.txt b/src/Magnum/Vk/Test/CMakeLists.txt index fbe926370..2c21967f2 100644 --- a/src/Magnum/Vk/Test/CMakeLists.txt +++ b/src/Magnum/Vk/Test/CMakeLists.txt @@ -24,6 +24,40 @@ # DEALINGS IN THE SOFTWARE. # +# Inputs to configure.h needed only by Vulkan tests +if(BUILD_VK_TESTS) + # Otherwise CMake complains that Corrade::PluginManager is not found, wtf + find_package(Corrade REQUIRED PluginManager) + + if(CORRADE_TARGET_ANDROID) + set(VK_TEST_DIR ".") + else() + set(VK_TEST_DIR ${CMAKE_CURRENT_SOURCE_DIR}) + endif() + + # CMake before 3.8 has broken $ expressions for iOS (see + # https://gitlab.kitware.com/cmake/cmake/merge_requests/404) and since + # Corrade doesn't support dynamic plugins on iOS, this sorta works around + # that. Should be revisited when updating Travis to newer Xcode (xcode7.3 + # has CMake 3.6). + if(NOT BUILD_PLUGINS_STATIC) + if(WITH_ANYIMAGEIMPORTER) + set(ANYIMAGEIMPORTER_PLUGIN_FILENAME $) + endif() + if(WITH_TGAIMPORTER) + set(TGAIMPORTER_PLUGIN_FILENAME $) + endif() + endif() +endif() + +# The file is needed by VkShaderTest as well, so it's created always, not just +# for BUILD_VK_TESTS. First replace ${} variables, then $<> generator +# expressions. +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/configure.h.cmake + ${CMAKE_CURRENT_BINARY_DIR}/configure.h.in) +file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/$/configure.h + INPUT ${CMAKE_CURRENT_BINARY_DIR}/configure.h.in) + corrade_add_test(VkBufferTest BufferTest.cpp LIBRARIES MagnumVkTestLib) corrade_add_test(VkCommandBufferTest CommandBufferTest.cpp LIBRARIES MagnumVk) corrade_add_test(VkCommandPoolTest CommandPoolTest.cpp LIBRARIES MagnumVk) @@ -168,35 +202,6 @@ set_target_properties( PROPERTIES FOLDER "Magnum/Vk/Test") if(BUILD_VK_TESTS) - # Otherwise CMake complains that Corrade::PluginManager is not found, wtf - find_package(Corrade REQUIRED PluginManager) - - if(CORRADE_TARGET_ANDROID) - set(VK_TEST_DIR ".") - else() - set(VK_TEST_DIR ${CMAKE_CURRENT_SOURCE_DIR}) - endif() - - # CMake before 3.8 has broken $ expressions for iOS (see - # https://gitlab.kitware.com/cmake/cmake/merge_requests/404) and since - # Corrade doesn't support dynamic plugins on iOS, this sorta works around - # that. Should be revisited when updating Travis to newer Xcode (xcode7.3 - # has CMake 3.6). - if(NOT BUILD_PLUGINS_STATIC) - if(WITH_ANYIMAGEIMPORTER) - set(ANYIMAGEIMPORTER_PLUGIN_FILENAME $) - endif() - if(WITH_TGAIMPORTER) - set(TGAIMPORTER_PLUGIN_FILENAME $) - endif() - endif() - - # First replace ${} variables, then $<> generator expressions - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/configure.h.cmake - ${CMAKE_CURRENT_BINARY_DIR}/configure.h.in) - file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/$/configure.h - INPUT ${CMAKE_CURRENT_BINARY_DIR}/configure.h.in) - corrade_add_test(VkBufferVkTest BufferVkTest.cpp LIBRARIES MagnumVkTestLib MagnumVulkanTester) corrade_add_test(VkCommandBufferVkTest CommandBufferVkTest.cpp LIBRARIES MagnumVulkanTester) corrade_add_test(VkCommandPoolVkTest CommandPoolVkTest.cpp LIBRARIES MagnumVulkanTester)