From 9281abb1bc10db9703d0147fed6d567f6a60c513 Mon Sep 17 00:00:00 2001 From: Alexandru Croitor Date: Thu, 21 Mar 2019 13:09:14 +0100 Subject: [PATCH] Fix windows build after gui regeneration - vulkan/nolink is not a valid target, instead pass along vulkan include directories to consuming targets, and don't link to the library at all - fix vulkan support target name in the windows qpa dependencies - the wrong opengl dynamic feature was used in the windows qpa (the current way is consistent with qmake, otherwise there were issues with the feature evaluation, because gui feature definitions are not available in the qpa project scope) - fix issue with qfloat16_f16c not being built because of previous subarch issues Change-Id: Ia75fc76a71e516fe8718027063fe554657d4d47b Reviewed-by: Simon Hausmann --- src/corelib/CMakeLists.txt | 22 +++++++++++++------- src/gui/CMakeLists.txt | 10 ++++++--- src/plugins/platforms/windows/CMakeLists.txt | 4 ++-- 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt index ca6893b75fa..3484e2b15e5 100644 --- a/src/corelib/CMakeLists.txt +++ b/src/corelib/CMakeLists.txt @@ -485,14 +485,20 @@ extend_target(Core CONDITION INTEGRITY # # f16c_cxx = "false" #) -extend_target(Core CONDITION _ss_f16c_cxx - DEFINES - QFLOAT16_INCLUDE_FAST -) -# -#extend_target(Core CONDITION NOT _ss_f16c_cxx -# # F16C_SOURCES = "global/qfloat16_f16c.c" -#) +# special case +# needs refinement for the other compiler specific cases. +if(TEST_arch_${TEST_architecture_arch}_subarch_f16c) + # Equivalent to contains(QT_CPU_FEATURES.$$QT_ARCH, f16c) + extend_target(Core + DEFINES + QFLOAT16_INCLUDE_FAST + ) +else() + add_qt_simd_part(Core SIMD f16c + SOURCES + global/qfloat16_f16c.c + ) +endif() extend_target(Core CONDITION linux_x_ OR hurd_x_ AND NOT cross_compile AND NOT static AND NOT _x_-armcc_x_ DEFINES diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index 21a0d7684b2..74c0940bb7e 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -579,10 +579,15 @@ extend_target(Gui CONDITION QT_FEATURE_vulkan vulkan/qvulkanfunctions.cpp vulkan/qvulkaninstance.cpp vulkan/qvulkaninstance.h vulkan/qvulkanwindow.cpp vulkan/qvulkanwindow.h vulkan/qvulkanwindow_p.h - LIBRARIES - vulkan/nolink ) +# special case to include only headers aka QMAKE_USE += vulkan/nolink +if(QT_FEATURE_vulkan) + # Can't use generator expressions https://gitlab.kitware.com/cmake/cmake/issues/19072 + get_target_property(vulkan_includes Vulkan::Vulkan INTERFACE_INCLUDE_DIRECTORIES) + target_include_directories(Gui PUBLIC ${vulkan_includes}) +endif() + #### Keys ignored in scope 61:.:vulkan/vulkan.pri:QT_FEATURE_vulkan: # CONFIG = "generated_privates" # qvkgen_h.variable_out = "HEADERS" @@ -630,7 +635,6 @@ if (QT_FEATURE_vulkan) "${CMAKE_CURRENT_BINARY_DIR}/vulkan/${vulkan_fun}" "${CMAKE_CURRENT_BINARY_DIR}/vulkan/${vulkan_fun_p}" "${CMAKE_CURRENT_BINARY_DIR}/vulkan/${vulkan_fun_p_cpp}" - LIBRARIES Vulkan::Vulkan ) endif() diff --git a/src/plugins/platforms/windows/CMakeLists.txt b/src/plugins/platforms/windows/CMakeLists.txt index cb4da2dab55..33e20c75d13 100644 --- a/src/plugins/platforms/windows/CMakeLists.txt +++ b/src/plugins/platforms/windows/CMakeLists.txt @@ -94,7 +94,7 @@ extend_target(qwindows CONDITION QT_FEATURE_vulkan SOURCES qwindowsvulkaninstance.cpp qwindowsvulkaninstance.h LIBRARIES - vulkan_supportPrivate + Qt::VulkanSupportPrivate ) #extend_target(qwindows CONDITION NOT TARGET___equals____ss_QT_DEFAULT_QPA_PLUGIN @@ -126,7 +126,7 @@ extend_target(qwindows CONDITION QT_FEATURE_opengl AND NOT QT_FEATURE_opengles2 qwindowsglcontext.cpp qwindowsglcontext.h ) -extend_target(qwindows CONDITION QT_FEATURE_opengl_dynamic +extend_target(qwindows CONDITION QT_FEATURE_dynamicgl SOURCES qwindowseglcontext.cpp qwindowseglcontext.h )