diff options
Diffstat (limited to 'src/gui/CMakeLists.txt')
-rw-r--r-- | src/gui/CMakeLists.txt | 716 |
1 files changed, 399 insertions, 317 deletions
diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index 4069a0bb97..edf6ef09e9 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -1,32 +1,28 @@ -# Generated from gui.pro. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause -set(OpenGL_GL_PREFERENCE GLVND) # special case: - -##################################################################### -## Gui Module: -##################################################################### - -# special case begin qt_find_package(X11_XCB) qt_find_package(WrapHarfbuzz PROVIDED_TARGETS WrapHarfbuzz::WrapHarfbuzz) qt_find_package(WrapPNG PROVIDED_TARGETS WrapPNG::WrapPNG) qt_find_package(WrapFreetype PROVIDED_TARGETS WrapFreetype::WrapFreetype) if (QT_FEATURE_gui) - if(WIN32) + if(QT_QPA_PLATFORMS) + list(GET QT_QPA_PLATFORMS 0 _default_platform) + elseif(WIN32) set(_default_platform "windows") elseif(ANDROID) set(_default_platform "android") elseif(MACOS) set(_default_platform "cocoa") - elseif(TVOS OR IOS) + elseif(UIKIT) set(_default_platform "ios") elseif(WATCHOS) set(_default_platform "minimal") elseif(QNX) set(_default_platform "qnx") elseif(INTEGRITY) - set(_default_platform "integrityfb") + set(_default_platform "eglfs") elseif(HAIKU) set(_default_platform "haiku") elseif(WASM) @@ -36,12 +32,24 @@ if (QT_FEATURE_gui) endif() set(QT_QPA_DEFAULT_PLATFORM "${_default_platform}" CACHE STRING "QPA default platform") + if(NOT "${QT_QPA_DEFAULT_PLATFORM}" IN_LIST QT_QPA_PLATFORMS) + list(APPEND QT_QPA_PLATFORMS "${QT_QPA_DEFAULT_PLATFORM}") + set(QT_QPA_PLATFORMS "${QT_QPA_PLATFORMS}" CACHE STRING + "QPA platforms deployed by default" FORCE) + endif() endif() +# Silence warnings in 3rdparty code if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - set_source_files_properties(../3rdparty/md4c/md4c.c PROPERTIES COMPILE_FLAGS "-Wno-error=unused-parameter -Wno-error=sign-compare -Wno-error=missing-field-initializers") + set_source_files_properties(../3rdparty/md4c/md4c.c PROPERTIES COMPILE_FLAGS "-Wno-unused-parameter -Wno-sign-compare -Wno-missing-field-initializers") elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang") - set_source_files_properties(../3rdparty/md4c/md4c.c PROPERTIES COMPILE_FLAGS "-Wno-error=unused-parameter -Wno-error=sign-compare -Wno-error=missing-field-initializers -Wno-error=missing-braces") + set_source_files_properties(../3rdparty/md4c/md4c.c PROPERTIES COMPILE_FLAGS "-Wno-unused-parameter -Wno-sign-compare -Wno-missing-field-initializers -Wno-missing-braces") +endif() + +# Silence AUTOMOC warning 'No relevant classes found. No output generated.' +if (NOT UNIX) + set_source_files_properties(kernel/qplatformwindow_p.h + PROPERTIES SKIP_AUTOMOC TRUE) endif() unset(qmake_module_config) @@ -49,20 +57,19 @@ if(QT_FEATURE_opengl) list(APPEND qmake_module_config opengl) endif() -# special case end - -qt_add_module(Gui - GENERATE_METATYPES +qt_internal_add_module(Gui PLUGIN_TYPES accessiblebridge platforms platforms/darwin xcbglintegrations platformthemes platforminputcontexts generic iconengines imageformats egldeviceintegrations - FEATURE_DEPENDENCIES # special case: - Qt::Network # special case: - QMAKE_MODULE_CONFIG "${qmake_module_config}" # special case + FEATURE_DEPENDENCIES + Qt::Network + QMAKE_MODULE_CONFIG "${qmake_module_config}" SOURCES + compat/removed_api.cpp image/qabstractfileiconengine.cpp image/qabstractfileiconengine_p.h + image/qabstractfileiconprovider.cpp image/qabstractfileiconprovider.h image/qabstractfileiconprovider_p.h image/qbitmap.cpp image/qbitmap.h image/qbmphandler.cpp image/qbmphandler_p.h image/qicon.cpp image/qicon.h image/qicon_p.h - image/qiconengine.cpp image/qiconengine.h + image/qiconengine.cpp image/qiconengine.h image/qiconengine_p.h image/qiconengineplugin.cpp image/qiconengineplugin.h image/qiconloader.cpp image/qiconloader_p.h image/qimage.cpp image/qimage.h image/qimage_p.h @@ -82,13 +89,13 @@ qt_add_module(Gui image/qppmhandler.cpp image/qppmhandler_p.h image/qxbmhandler.cpp image/qxbmhandler_p.h image/qxpmhandler.cpp image/qxpmhandler_p.h - # itemmodels/qstandarditemmodel.cpp itemmodels/qstandarditemmodel.h itemmodels/qstandarditemmodel_p.h # special case kernel/qclipboard.cpp kernel/qclipboard.h kernel/qcursor.cpp kernel/qcursor.h kernel/qcursor_p.h + kernel/qeventpoint.cpp kernel/qeventpoint.h kernel/qeventpoint_p.h kernel/qevent.cpp kernel/qevent.h kernel/qevent_p.h kernel/qgenericplugin.cpp kernel/qgenericplugin.h kernel/qgenericpluginfactory.cpp kernel/qgenericpluginfactory.h - kernel/qguiapplication.cpp kernel/qguiapplication.h kernel/qguiapplication_p.h + kernel/qguiapplication.cpp kernel/qguiapplication.h kernel/qguiapplication_p.h kernel/qguiapplication_platform.h kernel/qguivariant.cpp kernel/qhighdpiscaling.cpp kernel/qhighdpiscaling_p.h kernel/qinputdevice.cpp kernel/qinputdevice.h kernel/qinputdevice_p.h @@ -97,9 +104,11 @@ qt_add_module(Gui kernel/qinputmethod.cpp kernel/qinputmethod.h kernel/qinputmethod_p.h kernel/qinternalmimedata.cpp kernel/qinternalmimedata_p.h kernel/qkeymapper.cpp kernel/qkeymapper_p.h - kernel/qoffscreensurface.cpp kernel/qoffscreensurface.h + kernel/qoffscreensurface.cpp kernel/qoffscreensurface.h kernel/qoffscreensurface_p.h + kernel/qoffscreensurface_platform.h + kernel/qopenglcontext.h kernel/qpaintdevicewindow.cpp kernel/qpaintdevicewindow.h kernel/qpaintdevicewindow_p.h - kernel/qpalette.cpp kernel/qpalette.h + kernel/qpalette.cpp kernel/qpalette.h kernel/qpalette_p.h kernel/qpixelformat.cpp kernel/qpixelformat.h kernel/qplatformclipboard.cpp kernel/qplatformclipboard.h kernel/qplatformcursor.cpp kernel/qplatformcursor.h @@ -112,9 +121,11 @@ qt_add_module(Gui kernel/qplatformintegration.cpp kernel/qplatformintegration.h kernel/qplatformintegrationfactory.cpp kernel/qplatformintegrationfactory_p.h kernel/qplatformintegrationplugin.cpp kernel/qplatformintegrationplugin.h - kernel/qplatformmenu.cpp kernel/qplatformmenu.h + kernel/qplatformkeymapper.cpp kernel/qplatformkeymapper.h + kernel/qplatformmenu.cpp kernel/qplatformmenu.h kernel/qplatformmenu_p.h kernel/qplatformnativeinterface.cpp kernel/qplatformnativeinterface.h kernel/qplatformoffscreensurface.cpp kernel/qplatformoffscreensurface.h + kernel/qplatformopenglcontext.h kernel/qplatformscreen.cpp kernel/qplatformscreen.h kernel/qplatformscreen_p.h kernel/qplatformservices.cpp kernel/qplatformservices.h kernel/qplatformsessionmanager.cpp kernel/qplatformsessionmanager.h @@ -127,9 +138,9 @@ qt_add_module(Gui kernel/qplatformwindow.cpp kernel/qplatformwindow.h kernel/qplatformwindow_p.h kernel/qpointingdevice.cpp kernel/qpointingdevice.h kernel/qpointingdevice_p.h kernel/qrasterwindow.cpp kernel/qrasterwindow.h - kernel/qscreen.cpp kernel/qscreen.h kernel/qscreen_p.h + kernel/qscreen.cpp kernel/qscreen.h kernel/qscreen_p.h kernel/qscreen_platform.h kernel/qsessionmanager.cpp kernel/qsessionmanager.h kernel/qsessionmanager_p.h - kernel/qstylehints.cpp kernel/qstylehints.h + kernel/qstylehints.cpp kernel/qstylehints.h kernel/qstylehints_p.h kernel/qsurface.cpp kernel/qsurface.h kernel/qsurfaceformat.cpp kernel/qsurfaceformat.h kernel/qtestsupport_gui.cpp kernel/qtestsupport_gui.h @@ -140,24 +151,34 @@ qt_add_module(Gui math3d/qgenericmatrix.cpp math3d/qgenericmatrix.h math3d/qmatrix4x4.cpp math3d/qmatrix4x4.h math3d/qquaternion.cpp math3d/qquaternion.h - math3d/qvector2d.cpp math3d/qvector2d.h - math3d/qvector3d.cpp math3d/qvector3d.h - math3d/qvector4d.cpp math3d/qvector4d.h + math3d/qvector2d.h + math3d/qvector3d.h + math3d/qvector4d.h + math3d/qvectornd.cpp math3d/qvectornd.h + opengl/qopengl.h + opengl/qopenglext.h + opengl/qopenglfunctions.h + opengl/qopenglextrafunctions.h painting/qbackingstore.cpp painting/qbackingstore.h + painting/qbackingstoredefaultcompositor.cpp painting/qbackingstoredefaultcompositor_p.h + painting/qbackingstorerhisupport.cpp painting/qbackingstorerhisupport_p.h painting/qbezier.cpp painting/qbezier_p.h painting/qblendfunctions.cpp painting/qblendfunctions_p.h painting/qblittable.cpp painting/qblittable_p.h painting/qbrush.cpp painting/qbrush.h painting/qcolor.cpp painting/qcolor.h painting/qcolor_p.h + painting/qcolorclut_p.h painting/qcolormatrix_p.h painting/qcolorspace.cpp painting/qcolorspace.h painting/qcolorspace_p.h painting/qcolortransferfunction_p.h + painting/qcolortransfergeneric_p.h painting/qcolortransfertable_p.h painting/qcolortransform.cpp painting/qcolortransform.h painting/qcolortransform_p.h painting/qcolortrc_p.h painting/qcolortrclut.cpp painting/qcolortrclut_p.h painting/qcompositionfunctions.cpp painting/qcosmeticstroker.cpp painting/qcosmeticstroker_p.h + painting/qcmyk_p.h painting/qdatabuffer_p.h painting/qdrawhelper_p.h painting/qdrawhelper_x86_p.h @@ -166,11 +187,14 @@ qt_add_module(Gui painting/qfixed_p.h painting/qgrayraster.c painting/qgrayraster_p.h painting/qicc.cpp painting/qicc_p.h - painting/qimagescale.cpp + painting/qimageeffects.cpp + painting/qimagescale.cpp painting/qimagescale_p.h + painting/qmath_p.h painting/qmemrotate.cpp painting/qmemrotate_p.h painting/qoutlinemapper.cpp painting/qoutlinemapper_p.h painting/qpagedpaintdevice.cpp painting/qpagedpaintdevice.h painting/qpagedpaintdevice_p.h painting/qpagelayout.cpp painting/qpagelayout.h + painting/qpageranges.cpp painting/qpageranges.h painting/qpageranges_p.h painting/qpagesize.cpp painting/qpagesize.h painting/qpaintdevice.cpp painting/qpaintdevice.h painting/qpaintengine.cpp painting/qpaintengine.h painting/qpaintengine_p.h @@ -183,40 +207,32 @@ qt_add_module(Gui painting/qpathsimplifier.cpp painting/qpathsimplifier_p.h painting/qpdf.cpp painting/qpdf_p.h painting/qpdfwriter.cpp painting/qpdfwriter.h - painting/qpen.cpp painting/qpen.h + painting/qpen.cpp painting/qpen.h painting/qpen_p.h painting/qpixellayout.cpp painting/qpixellayout_p.h painting/qplatformbackingstore.cpp painting/qplatformbackingstore.h painting/qpolygon.cpp painting/qpolygon.h - painting/qpolygonclipper_p.h - painting/qrangecollection.cpp painting/qrangecollection.h painting/qrangecollection_p.h painting/qrasterdefs_p.h painting/qrasterizer.cpp painting/qrasterizer_p.h painting/qrbtree_p.h painting/qregion.cpp painting/qregion.h painting/qrgb.h painting/qrgba64.h painting/qrgba64_p.h + painting/qrgbafloat.h painting/qstroker.cpp painting/qstroker_p.h painting/qtextureglyphcache.cpp painting/qtextureglyphcache_p.h painting/qtransform.cpp painting/qtransform.h painting/qtriangulatingstroker.cpp painting/qtriangulatingstroker_p.h painting/qtriangulator.cpp painting/qtriangulator_p.h painting/qvectorpath_p.h - rhi/qrhi.cpp rhi/qrhi_p.h - rhi/qrhi_p_p.h + rhi/qrhi.cpp rhi/qrhi.h rhi/qrhi_platform.h rhi/qrhi_p.h rhi/qrhinull.cpp rhi/qrhinull_p.h - rhi/qrhinull_p_p.h - rhi/qrhiprofiler.cpp rhi/qrhiprofiler_p.h - rhi/qrhiprofiler_p_p.h - rhi/qshader.cpp rhi/qshader_p.h - rhi/qshader_p_p.h - rhi/qshaderdescription.cpp rhi/qshaderdescription_p.h - rhi/qshaderdescription_p_p.h + rhi/qshader.cpp rhi/qshader.h rhi/qshader_p.h + rhi/qshaderdescription.cpp rhi/qshaderdescription.h rhi/qshaderdescription_p.h text/qabstracttextdocumentlayout.cpp text/qabstracttextdocumentlayout.h text/qabstracttextdocumentlayout_p.h text/qdistancefield.cpp text/qdistancefield_p.h text/qfont.cpp text/qfont.h text/qfont_p.h text/qfontdatabase.cpp text/qfontdatabase.h text/qfontdatabase_p.h text/qfontengine.cpp text/qfontengine_p.h - text/qfontengine_qpf2.cpp text/qfontengineglyphcache.cpp text/qfontengineglyphcache_p.h text/qfontinfo.h text/qfontmetrics.cpp text/qfontmetrics.h @@ -245,58 +261,85 @@ qt_add_module(Gui util/qabstractlayoutstyleinfo.cpp util/qabstractlayoutstyleinfo_p.h util/qastchandler.cpp util/qastchandler_p.h util/qdesktopservices.cpp util/qdesktopservices.h - util/qedidparser.cpp util/qedidparser_p.h - util/qedidvendortable_p.h util/qgridlayoutengine.cpp util/qgridlayoutengine_p.h util/qhexstring_p.h util/qktxhandler.cpp util/qktxhandler_p.h util/qlayoutpolicy.cpp util/qlayoutpolicy_p.h util/qpkmhandler.cpp util/qpkmhandler_p.h - util/qshaderformat.cpp util/qshaderformat_p.h - util/qshadergraph.cpp util/qshadergraph_p.h - util/qshadergraphloader.cpp util/qshadergraphloader_p.h - util/qshaderlanguage.cpp util/qshaderlanguage_p.h - util/qshadernode.cpp util/qshadernode_p.h - util/qshadernodeport.cpp util/qshadernodeport_p.h - util/qshadernodesloader.cpp util/qshadernodesloader_p.h util/qtexturefiledata.cpp util/qtexturefiledata_p.h util/qtexturefilehandler_p.h util/qtexturefilereader.cpp util/qtexturefilereader_p.h util/qvalidator.cpp util/qvalidator.h DEFINES + QT_NO_CONTEXTLESS_CONNECT QT_NO_FOREACH QT_NO_USING_NAMESPACE - QT_QPA_DEFAULT_PLATFORM_NAME="${QT_QPA_DEFAULT_PLATFORM}" # special case + QT_USE_NODISCARD_FILE_OPEN + QT_QPA_DEFAULT_PLATFORM_NAME="${QT_QPA_DEFAULT_PLATFORM}" INCLUDE_DIRECTORIES ../3rdparty/VulkanMemoryAllocator + ../3rdparty/D3D12MemoryAllocator LIBRARIES Qt::CorePrivate PUBLIC_LIBRARIES Qt::Core PRIVATE_MODULE_INTERFACE Qt::CorePrivate - NO_PCH_SOURCES # special case - "painting/qdrawhelper.cpp" # special case + NO_PCH_SOURCES + compat/removed_api.cpp + painting/qdrawhelper.cpp PRECOMPILED_HEADER "kernel/qt_gui_pch.h" + QPA_HEADER_FILTERS + "(^|/)qplatform.+\\.h$|(^|/)qwindowsystem.+\\.h$" + RHI_HEADER_FILTERS + "(^|/)qrhi\\.h$|(^|/)qrhi_platform\\.h$|(^|/)qshader\\.h$|(^|/)qshaderdescription\\.h$" + ATTRIBUTION_FILE_DIR_PATHS + rhi + opengl + painting + text + ../3rdparty/VulkanMemoryAllocator ) # Resources: -set_source_files_properties("painting/../../3rdparty/icc/sRGB2014.icc" - PROPERTIES QT_RESOURCE_ALIAS "sRGB2014.icc" -) -set(qpdf_resource_files - "../../3rdparty/icc/sRGB2014.icc" - "qpdfa_metadata.xml" -) +if(QT_FEATURE_pdf) + set_source_files_properties("../3rdparty/icc/sRGB2014.icc" + PROPERTIES QT_RESOURCE_ALIAS "sRGB2014.icc" + ) + set(qpdf_resource_files + "../3rdparty/icc/sRGB2014.icc" + "painting/qpdfa_metadata.xml" + ) + qt_internal_extend_target(Gui + ATTRIBUTION_FILE_DIR_PATHS + ../3rdparty/icc + ) + qt_internal_sbom_add_license( + LICENSE_ID "ICC-License" + LICENSE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/icc/LICENSE.txt" + ) -qt_add_resource(Gui "qpdf" + qt_internal_add_resource(Gui "qpdf" + PREFIX + "/qpdf/" + BASE + "painting" + FILES + ${qpdf_resource_files} + ) +endif() + +if(WIN32 OR (UNIX AND NOT APPLE)) + set_target_properties(Gui PROPERTIES UNITY_BUILD OFF) # X11 define clashes/Windows oddities. +endif() + +qt_internal_add_resource(Gui "gui_shaders" PREFIX - "/qpdf/" - BASE - "painting" + "/qt-project.org/gui" FILES - ${qpdf_resource_files} + "painting/shaders/backingstorecompose.vert.qsb" + "painting/shaders/backingstorecompose.frag.qsb" ) if(QT_FEATURE_reduce_relocations AND UNIX AND GCC) @@ -304,70 +347,77 @@ if(QT_FEATURE_reduce_relocations AND UNIX AND GCC) "LINKER:--dynamic-list=${CMAKE_CURRENT_LIST_DIR}/QtGui.dynlist") endif() -# special case begin -qt_extend_target(Gui CONDITION QT_FEATURE_standarditemmodel +qt_internal_extend_target(Gui CONDITION QT_FEATURE_standarditemmodel SOURCES itemmodels/qstandarditemmodel.cpp itemmodels/qstandarditemmodel.h itemmodels/qstandarditemmodel_p.h ) -# special case end - - -#### Keys ignored in scope 1:.:.:gui.pro:<TRUE>: -# QMAKE_LIBS = "$$QMAKE_LIBS_GUI" -## Scopes: -##################################################################### - -# special case begin # With qmake, gui's opengl.pri used CONFIG += opengl, where opengl.prf # used direct public linkage against either libGLESv2 or libGL, depending # on the opengl _feature_. This is done by hand now here (where the # feature is available). # On Windows with 'dynamic' OpenGL we must not link to opengl32. # DO NOT MOVE THIS TO THE BEGINNING OF THE FILE, the feature variables are not -# available until the qt_add_module call. +# available until the qt_internal_add_module call. if(QT_FEATURE_opengl) if(QT_FEATURE_opengles2) find_package(GLESv2) target_link_libraries(Gui PUBLIC GLESv2::GLESv2) + + if(INTEGRITY AND _qt_igy_gui_libs) + qt_internal_extend_target(Gui + LIBRARIES + IntegrityPlatformGraphics::IntegrityPlatformGraphics + ) + endif() + elseif(NOT QT_FEATURE_opengl_dynamic) target_link_libraries(Gui PUBLIC WrapOpenGL::WrapOpenGL) endif() endif() -# special case end -qt_extend_target(Gui CONDITION QT_FEATURE_opengl +qt_internal_extend_target(Gui CONDITION QT_FEATURE_opengl SOURCES - kernel/qopenglcontext.cpp kernel/qopenglcontext.h kernel/qopenglcontext_p.h + kernel/qopenglcontext.cpp kernel/qopenglcontext_p.h kernel/qopenglcontext_platform.h - kernel/qplatformopenglcontext.cpp kernel/qplatformopenglcontext.h - opengl/qopengl.cpp opengl/qopengl.h opengl/qopengl_p.h + kernel/qplatformopenglcontext.cpp + opengl/qopengl.cpp opengl/qopengl_p.h opengl/qopenglextensions_p.h - opengl/qopenglextrafunctions.h - opengl/qopenglfunctions.cpp opengl/qopenglfunctions.h + opengl/qopenglfunctions.cpp opengl/qopenglprogrambinarycache.cpp opengl/qopenglprogrambinarycache_p.h rhi/qrhigles2.cpp rhi/qrhigles2_p.h - rhi/qrhigles2_p_p.h ) -#### Keys ignored in scope 2:.:.:gui.pro:QT_FEATURE_opengl: -# MODULE_CONFIG = "opengl" - -qt_extend_target(Gui CONDITION MACOS +qt_internal_extend_target(Gui CONDITION MACOS SOURCES - platform/macos/qcocoaplatforminterface.mm + platform/macos/qcocoanativeinterface.mm LIBRARIES ${FWAppKit} + ${FWCarbon} PUBLIC_LIBRARIES ${FWAppKit} ) -qt_extend_target(Gui CONDITION APPLE +qt_internal_extend_target(Gui CONDITION UIKIT + SOURCES + platform/ios/qiosnativeinterface.cpp +) + +qt_internal_extend_target(Gui CONDITION WASM + SOURCES + platform/wasm/qwasmnativeinterface.cpp +) + +qt_internal_extend_target(Gui CONDITION APPLE SOURCES image/qimage_darwin.mm painting/qcoregraphics.mm painting/qcoregraphics_p.h painting/qrasterbackingstore.cpp painting/qrasterbackingstore_p.h - platform/darwin/qmacmime.mm platform/darwin/qmacmime_p.h + painting/qrhibackingstore.cpp painting/qrhibackingstore_p.h + platform/darwin/qmacmimeregistry.mm platform/darwin/qmacmimeregistry_p.h + platform/darwin/qutimimeconverter.mm platform/darwin/qutimimeconverter.h + platform/darwin/qapplekeymapper.mm platform/darwin/qapplekeymapper_p.h + platform/darwin/qappleiconengine.mm platform/darwin/qappleiconengine_p.h text/coretext/qcoretextfontdatabase.mm text/coretext/qcoretextfontdatabase_p.h text/coretext/qfontengine_coretext.mm text/coretext/qfontengine_coretext_p.h LIBRARIES @@ -379,19 +429,39 @@ qt_extend_target(Gui CONDITION APPLE ${FWImageIO} ) -qt_extend_target(Gui CONDITION QT_FEATURE_animation +qt_internal_extend_target(Gui CONDITION APPLE AND QT_FEATURE_metal + SOURCES + platform/darwin/qmetallayer.mm platform/darwin/qmetallayer_p.h + LIBRARIES + ${FWQuartzCore} +) + +qt_internal_extend_target(Gui CONDITION QNX + SOURCES + painting/qrasterbackingstore.cpp painting/qrasterbackingstore_p.h + painting/qrhibackingstore.cpp painting/qrhibackingstore_p.h +) + +qt_internal_extend_target(Gui CONDITION QT_FEATURE_animation SOURCES animation/qguivariantanimation.cpp ) -qt_extend_target(Gui CONDITION WIN32 +qt_internal_extend_target(Gui CONDITION WIN32 SOURCES - image/qpixmap_win.cpp + image/qpixmap_win.cpp image/qpixmap_win_p.h kernel/qwindowdefs_win.h platform/windows/qwindowsguieventdispatcher.cpp platform/windows/qwindowsguieventdispatcher_p.h - platform/windows/qwindowsplatforminterface.cpp + platform/windows/qwindowsmimeconverter.h platform/windows/qwindowsmimeconverter.cpp + platform/windows/qwindowsnativeinterface.cpp + platform/windows/qwindowsthemecache.cpp platform/windows/qwindowsthemecache_p.h rhi/qrhid3d11.cpp rhi/qrhid3d11_p.h - rhi/qrhid3d11_p_p.h + rhi/qrhid3dhelpers.cpp rhi/qrhid3dhelpers_p.h + rhi/vs_test_p.h + rhi/qrhid3d12.cpp rhi/qrhid3d12_p.h + rhi/cs_mipmap_p.h + ../3rdparty/D3D12MemoryAllocator/D3D12MemAlloc.h + ../3rdparty/D3D12MemoryAllocator/D3D12MemAlloc.cpp text/windows/qwindowsfontdatabase.cpp text/windows/qwindowsfontdatabase_p.h text/windows/qwindowsfontdatabasebase.cpp text/windows/qwindowsfontdatabasebase_p.h text/windows/qwindowsfontengine.cpp text/windows/qwindowsfontengine_p.h @@ -400,102 +470,86 @@ qt_extend_target(Gui CONDITION WIN32 advapi32 gdi32 ole32 + shell32 user32 + uxtheme PUBLIC_LIBRARIES d3d11 dxgi dxguid + d3d12 + ATTRIBUTION_FILE_DIR_PATHS + ../3rdparty/D3D12MemoryAllocator ) -#### Keys ignored in scope 7:.:.:gui.pro:WIN32: -# CMAKE_WINDOWS_BUILD = "True" +if(QT_FEATURE_graphicsframecapture) + qt_internal_extend_target(Gui + SOURCES + util/qgraphicsframecapture_p.h util/qgraphicsframecapture.cpp + util/qgraphicsframecapture_p_p.h + ) + + qt_internal_extend_target(Gui CONDITION (WIN32 OR (UNIX AND NOT APPLE)) AND QT_FEATURE_library + LIBRARIES + RenderDoc::RenderDoc + SOURCES + util/qgraphicsframecapturerenderdoc_p_p.h util/qgraphicsframecapturerenderdoc.cpp + ) + + qt_internal_extend_target(Gui CONDITION IOS OR MACOS + SOURCES + util/qgraphicsframecapturemetal_p_p.h util/qgraphicsframecapturemetal.mm + PUBLIC_LIBRARIES + ${FWMetal} + ) +endif() -# special case begin if(QT_FEATURE_egl) qt_find_package(EGL) endif() -# special case end -qt_extend_target(Gui CONDITION QT_FEATURE_egl +qt_internal_extend_target(Gui CONDITION QT_FEATURE_egl SOURCES opengl/platform/egl/qeglconvenience.cpp opengl/platform/egl/qeglconvenience_p.h opengl/platform/egl/qeglstreamconvenience.cpp opengl/platform/egl/qeglstreamconvenience_p.h opengl/platform/egl/qt_egl_p.h -# special case begin LIBRARIES - EGL::EGL # special case -# special case end + EGL::EGL ) -#### Keys ignored in scope 8:.:.:gui.pro:QT_FEATURE_egl: -# CMAKE_EGL_LIBS = "$$cmakeProcessLibs($$QMAKE_LIBS_EGL)" - -#### Keys ignored in scope 9:.:.:gui.pro:NOT QMAKE_LIBDIR_EGL_ISEMPTY: -# CMAKE_EGL_LIBDIR = "$$cmakeTargetPath($$QMAKE_LIBDIR_EGL)" - -#### Keys ignored in scope 10:.:.:gui.pro:QT_FEATURE_opengles2: -# CMAKE_GL_HEADER_NAME = "GLES2/gl2.h" -# CMAKE_OPENGL_INCDIRS = "$$cmakePortablePaths($$QMAKE_INCDIR_OPENGL_ES2)" -# CMAKE_OPENGL_LIBS = "$$cmakeProcessLibs($$QMAKE_LIBS_OPENGL_ES2)" -# CMAKE_QT_OPENGL_IMPLEMENTATION = "GLESv2" - -#### Keys ignored in scope 11:.:.:gui.pro:NOT QMAKE_INCDIR_OPENGL_ES2_ISEMPTY: -# CMAKE_GL_INCDIRS = "$$cmakeTargetPaths($$QMAKE_INCDIR_OPENGL_ES2)" - -#### Keys ignored in scope 12:.:.:gui.pro:NOT QMAKE_LIBDIR_OPENGL_ES2_ISEMPTY: -# CMAKE_OPENGL_LIBDIR = "$$cmakePortablePaths($$QMAKE_LIBDIR_OPENGL_ES2)" - -#### Keys ignored in scope 14:.:.:gui.pro:QT_FEATURE_opengl: -# CMAKE_GL_HEADER_NAME = "GL/gl.h" -# CMAKE_OPENGL_INCDIRS = "$$cmakePortablePaths($$QMAKE_INCDIR_OPENGL)" -# CMAKE_QT_OPENGL_IMPLEMENTATION = "GL" - -#### Keys ignored in scope 15:.:.:gui.pro:NOT QMAKE_INCDIR_OPENGL_ISEMPTY: -# CMAKE_GL_INCDIRS = "$$cmakeTargetPaths($$QMAKE_INCDIR_OPENGL)" - -#### Keys ignored in scope 16:.:.:gui.pro:NOT QT_FEATURE_dynamicgl: -# CMAKE_OPENGL_LIBS = "$$cmakeProcessLibs($$QMAKE_LIBS_OPENGL)" - -#### Keys ignored in scope 17:.:.:gui.pro:NOT QMAKE_LIBDIR_OPENGL_ISEMPTY: -# CMAKE_OPENGL_LIBDIR = "$$cmakePortablePaths($$QMAKE_LIBDIR_OPENGL)" - -#### Keys ignored in scope 18:.:.:gui.pro:APPLE: -# CMAKE_GL_HEADER_NAME = "gl.h" +# These two headers are always installed, their contents are guarded with +# "#if QT_CONFIG(accessibility)", so if QT_FEATURE_accessibility is not +# enabled, they are just duds. +qt_internal_extend_target(Gui + SOURCES + accessible/qaccessible.h accessible/qplatformaccessibility.h +) -qt_extend_target(Gui CONDITION QT_FEATURE_accessibility +qt_internal_extend_target(Gui CONDITION QT_FEATURE_accessibility SOURCES - accessible/qaccessible.cpp accessible/qaccessible.h + accessible/qaccessible.cpp accessible/qaccessible_base.h accessible/qaccessiblebridge.cpp accessible/qaccessiblebridge.h accessible/qaccessiblebridgeutils.cpp accessible/qaccessiblebridgeutils_p.h accessible/qaccessiblecache.cpp accessible/qaccessiblecache_p.h accessible/qaccessibleobject.cpp accessible/qaccessibleobject.h accessible/qaccessibleplugin.cpp accessible/qaccessibleplugin.h - accessible/qplatformaccessibility.cpp accessible/qplatformaccessibility.h + accessible/qplatformaccessibility.cpp ) -qt_extend_target(Gui CONDITION APPLE AND QT_FEATURE_accessibility +qt_internal_extend_target(Gui CONDITION APPLE AND QT_FEATURE_accessibility SOURCES accessible/qaccessiblecache_mac.mm LIBRARIES ${FWFoundation} ) -qt_extend_target(Gui CONDITION QT_FEATURE_accessibility AND WIN32 - SOURCES - accessible/windows/apisupport/qwindowsuiawrapper.cpp accessible/windows/apisupport/qwindowsuiawrapper_p.h - accessible/windows/apisupport/uiaattributeids_p.h - accessible/windows/apisupport/uiaclientinterfaces_p.h - accessible/windows/apisupport/uiacontroltypeids_p.h - accessible/windows/apisupport/uiaerrorids_p.h - accessible/windows/apisupport/uiaeventids_p.h - accessible/windows/apisupport/uiageneralids_p.h - accessible/windows/apisupport/uiapatternids_p.h - accessible/windows/apisupport/uiapropertyids_p.h - accessible/windows/apisupport/uiaserverinterfaces_p.h - accessible/windows/apisupport/uiatypes_p.h -) +if(QT_FEATURE_accessibility AND QT_FEATURE_accessibility_atspi_bridge) + set(atspi_accessibility ON) +else() + set(atspi_accessibility OFF) +endif() -qt_extend_target(Gui CONDITION QT_FEATURE_accessibility AND QT_FEATURE_accessibility_atspi_bridge +qt_internal_extend_target(Gui CONDITION atspi_accessibility SOURCES accessible/linux/atspiadaptor.cpp accessible/linux/atspiadaptor_p.h accessible/linux/dbusconnection.cpp accessible/linux/dbusconnection_p.h @@ -504,7 +558,6 @@ qt_extend_target(Gui CONDITION QT_FEATURE_accessibility AND QT_FEATURE_accessibi accessible/linux/qspiaccessiblebridge.cpp accessible/linux/qspiaccessiblebridge_p.h accessible/linux/qspiapplicationadaptor.cpp accessible/linux/qspiapplicationadaptor_p.h accessible/linux/qspidbuscache.cpp accessible/linux/qspidbuscache_p.h -# special case begin DBUS_ADAPTOR_SOURCES accessible/linux/dbusxml/Cache.xml accessible/linux/dbusxml/DeviceEventController.xml @@ -515,18 +568,19 @@ qt_extend_target(Gui CONDITION QT_FEATURE_accessibility AND QT_FEATURE_accessibi accessible/linux/dbusxml/Socket.xml DBUS_INTERFACE_FLAGS "-i" "QtGui/private/qspi_struct_marshallers_p.h" -# special case end - PUBLIC_LIBRARIES - PkgConfig::ATSPI2_nolink ) -qt_extend_target(Gui CONDITION QT_FEATURE_action +if(atspi_accessibility) + qt_internal_add_target_include_dirs(Gui PkgConfig::ATSPI2) +endif() + +qt_internal_extend_target(Gui CONDITION QT_FEATURE_action SOURCES kernel/qaction.cpp kernel/qaction.h kernel/qaction_p.h kernel/qactiongroup.cpp kernel/qactiongroup.h kernel/qactiongroup_p.h ) -qt_extend_target(Gui CONDITION QT_FEATURE_draganddrop +qt_internal_extend_target(Gui CONDITION QT_FEATURE_draganddrop SOURCES kernel/qdnd.cpp kernel/qdnd_p.h kernel/qdrag.cpp kernel/qdrag.h @@ -535,86 +589,102 @@ qt_extend_target(Gui CONDITION QT_FEATURE_draganddrop kernel/qsimpledrag.cpp kernel/qsimpledrag_p.h ) -qt_extend_target(Gui CONDITION QT_FEATURE_shortcut +qt_internal_extend_target(Gui CONDITION QT_FEATURE_shortcut SOURCES kernel/qkeysequence.cpp kernel/qkeysequence.h kernel/qkeysequence_p.h kernel/qshortcut.cpp kernel/qshortcut.h kernel/qshortcut_p.h kernel/qshortcutmap.cpp kernel/qshortcutmap_p.h ) -qt_extend_target(Gui CONDITION QT_FEATURE_movie +qt_internal_extend_target(Gui CONDITION QT_FEATURE_movie SOURCES image/qmovie.cpp image/qmovie.h ) -qt_extend_target(Gui CONDITION QT_FEATURE_png +qt_internal_extend_target(Gui CONDITION QT_FEATURE_png SOURCES image/qpnghandler.cpp image/qpnghandler_p.h LIBRARIES WrapPNG::WrapPNG ) -#### Keys ignored in scope 40:.:image:image/image.pri:WIN32 AND MINGW: -# GCC_VERSION = "$${QMAKE_GCC_MAJOR_VERSION}.$${QMAKE_GCC_MINOR_VERSION}.$${QMAKE_GCC_PATCH_VERSION}" - -qt_extend_target(Gui CONDITION ((QT_FEATURE_png) AND (WIN32 AND MINGW)) AND (GCC_VERSION___equals___8.1.0) +qt_internal_extend_target(Gui + CONDITION + QT_FEATURE_png AND WIN32 AND MINGW AND + (CMAKE_CXX_COMPILER_VESION VERSION_EQUAL "8.1.0") COMPILE_OPTIONS -fno-reorder-blocks-and-partition ) -if(NOT ANDROID) - qt_add_simd_part(Gui SIMD sse2 - SOURCES +if(TEST_architecture_arch STREQUAL x86_64) + qt_internal_extend_target(Gui + SOURCES painting/qdrawhelper_sse2.cpp ) - - qt_add_simd_part(Gui SIMD ssse3 +else() + qt_internal_add_simd_part(Gui SIMD sse2 SOURCES - image/qimage_ssse3.cpp - painting/qdrawhelper_ssse3.cpp + painting/qdrawhelper_sse2.cpp ) +endif() - qt_add_simd_part(Gui SIMD sse4_1 - SOURCES - painting/qdrawhelper_sse4.cpp - painting/qimagescale_sse4.cpp - ) +qt_internal_add_simd_part(Gui SIMD ssse3 + SOURCES + image/qimage_ssse3.cpp + painting/qdrawhelper_ssse3.cpp +) - qt_add_simd_part(Gui SIMD neon - SOURCES - image/qimage_neon.cpp - painting/qdrawhelper_neon.cpp painting/qdrawhelper_neon_p.h - painting/qimagescale_neon.cpp - ) +qt_internal_add_simd_part(Gui SIMD sse4_1 + SOURCES + painting/qdrawhelper_sse4.cpp + painting/qimagescale_sse4.cpp +) + +qt_internal_add_simd_part(Gui SIMD arch_haswell + SOURCES + painting/qdrawhelper_avx2.cpp + EXCLUDE_OSX_ARCHITECTURES + arm64 +) - qt_add_simd_part(Gui SIMD mips_dsp +qt_internal_add_simd_part(Gui SIMD neon + SOURCES + image/qimage_neon.cpp + painting/qdrawhelper_neon.cpp painting/qdrawhelper_neon_p.h + painting/qimagescale_neon.cpp +) + +if(NOT ANDROID) + qt_internal_add_simd_part(Gui SIMD mips_dsp SOURCES painting/qdrawhelper_mips_dsp.cpp painting/qdrawhelper_mips_dsp_p.h painting/qdrawhelper_mips_dsp_asm.S painting/qt_mips_asm_dsp_p.h ) - qt_add_simd_part(Gui SIMD mips_dspr2 + qt_internal_add_simd_part(Gui SIMD mips_dspr2 SOURCES image/qimage_mips_dspr2.cpp image/qimage_mips_dspr2_asm.S painting/qdrawhelper_mips_dspr2_asm.S ) - - qt_add_simd_part(Gui SIMD arch_haswell - SOURCES - painting/qdrawhelper_avx2.cpp - ) endif() -qt_extend_target(Gui CONDITION ANDROID AND (TEST_architecture_arch STREQUAL arm64 OR TEST_architecture_arch STREQUAL arm) # special case +qt_internal_extend_target(Gui CONDITION ANDROID + SOURCES + platform/android/qandroidnativeinterface.cpp + painting/qrasterbackingstore.cpp painting/qrasterbackingstore_p.h + painting/qrhibackingstore.cpp painting/qrhibackingstore_p.h +) + +qt_internal_extend_target(Gui CONDITION ANDROID AND (TEST_architecture_arch STREQUAL arm64 OR TEST_architecture_arch STREQUAL arm) SOURCES image/qimage_neon.cpp painting/qdrawhelper_neon.cpp painting/qdrawhelper_neon_p.h painting/qimagescale_neon.cpp ) -qt_extend_target(Gui CONDITION ANDROID AND (TEST_architecture_arch STREQUAL i386 OR TEST_architecture_arch STREQUAL x86_64) +qt_internal_extend_target(Gui CONDITION ANDROID AND (TEST_architecture_arch STREQUAL i386 OR TEST_architecture_arch STREQUAL x86_64) SOURCES image/qimage_ssse3.cpp painting/qdrawhelper_sse2.cpp @@ -625,71 +695,63 @@ qt_extend_target(Gui CONDITION ANDROID AND (TEST_architecture_arch STREQUAL i386 QT_COMPILER_SUPPORTS_SSSE3 QT_COMPILER_SUPPORTS_SSSE3 ) -# special case begin if (MINGW AND CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 8.1.0) # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86048 set_source_files_properties(image/qpnghandler.cpp PROPERTIES COMPILE_OPTIONS -fno-reorder-blocks-and-partition ) endif() -# special case end -qt_extend_target(Gui CONDITION QT_FEATURE_harfbuzz +qt_internal_extend_target(Gui CONDITION QT_FEATURE_harfbuzz SOURCES text/qharfbuzzng.cpp text/qharfbuzzng_p.h LIBRARIES WrapHarfbuzz::WrapHarfbuzz ) -# special case begin -# Replicate what src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro does, which is link CoreText -# when targeting uikit. - -qt_extend_target(Gui CONDITION QT_FEATURE_harfbuzz AND UIKIT +qt_internal_extend_target(Gui CONDITION QT_FEATURE_harfbuzz AND UIKIT LIBRARIES ${FWCoreText} ) -# special case end -qt_extend_target(Gui CONDITION QT_FEATURE_textodfwriter +qt_internal_extend_target(Gui CONDITION QT_FEATURE_textodfwriter SOURCES text/qtextodfwriter.cpp text/qtextodfwriter_p.h - text/qzip.cpp - text/qzipreader_p.h - text/qzipwriter_p.h ) -qt_extend_target(Gui CONDITION QT_FEATURE_textmarkdownreader +qt_internal_extend_target(Gui CONDITION QT_FEATURE_textmarkdownreader SOURCES text/qtextmarkdownimporter.cpp text/qtextmarkdownimporter_p.h ) -qt_extend_target(Gui CONDITION QT_FEATURE_system_textmarkdownreader AND QT_FEATURE_textmarkdownreader +qt_internal_extend_target(Gui CONDITION QT_FEATURE_system_textmarkdownreader AND QT_FEATURE_textmarkdownreader LIBRARIES - libmd4c + WrapSystemMd4c::WrapSystemMd4c ) -qt_extend_target(Gui CONDITION QT_FEATURE_textmarkdownreader AND NOT QT_FEATURE_system_textmarkdownreader +qt_internal_extend_target(Gui CONDITION QT_FEATURE_textmarkdownreader AND NOT QT_FEATURE_system_textmarkdownreader SOURCES ../3rdparty/md4c/md4c.c ../3rdparty/md4c/md4c.h DEFINES MD4C_USE_UTF8 INCLUDE_DIRECTORIES ../3rdparty/md4c + ATTRIBUTION_FILE_DIR_PATHS + ../3rdparty/md4c ) -qt_extend_target(Gui CONDITION QT_FEATURE_textmarkdownwriter +qt_internal_extend_target(Gui CONDITION QT_FEATURE_textmarkdownwriter SOURCES text/qtextmarkdownwriter.cpp text/qtextmarkdownwriter_p.h ) -qt_extend_target(Gui CONDITION QT_FEATURE_cssparser +qt_internal_extend_target(Gui CONDITION QT_FEATURE_cssparser SOURCES - painting/qcssutil.cpp + painting/qcssutil.cpp painting/qcssutil_p.h text/qcssparser.cpp text/qcssparser_p.h ) -qt_extend_target(Gui CONDITION QT_FEATURE_freetype +qt_internal_extend_target(Gui CONDITION QT_FEATURE_freetype SOURCES text/freetype/qfontengine_ft.cpp text/freetype/qfontengine_ft_p.h text/freetype/qfreetypefontdatabase.cpp text/freetype/qfreetypefontdatabase_p.h @@ -697,12 +759,12 @@ qt_extend_target(Gui CONDITION QT_FEATURE_freetype WrapFreetype::WrapFreetype ) -qt_extend_target(Gui CONDITION QT_FEATURE_freetype AND UNIX AND NOT APPLE +qt_internal_extend_target(Gui CONDITION UNIX AND NOT APPLE SOURCES text/unix/qgenericunixfontdatabase_p.h ) -qt_extend_target(Gui CONDITION QT_FEATURE_fontconfig AND QT_FEATURE_freetype AND UNIX AND NOT APPLE +qt_internal_extend_target(Gui CONDITION QT_FEATURE_fontconfig AND QT_FEATURE_freetype AND UNIX AND NOT APPLE SOURCES text/unix/qfontconfigdatabase.cpp text/unix/qfontconfigdatabase_p.h text/unix/qfontenginemultifontconfig.cpp text/unix/qfontenginemultifontconfig_p.h @@ -710,61 +772,65 @@ qt_extend_target(Gui CONDITION QT_FEATURE_fontconfig AND QT_FEATURE_freetype AND Fontconfig::Fontconfig ) -qt_extend_target(Gui CONDITION APPLE AND NOT MACOS +qt_internal_extend_target(Gui CONDITION APPLE AND NOT MACOS LIBRARIES ${FWUIKit} ) -qt_extend_target(Gui CONDITION APPLE AND QT_FEATURE_freetype +qt_internal_extend_target(Gui CONDITION APPLE AND QT_FEATURE_freetype LIBRARIES WrapFreetype::WrapFreetype ) -qt_extend_target(Gui CONDITION QT_FEATURE_freetype AND WIN32 +qt_internal_extend_target(Gui CONDITION QT_FEATURE_freetype AND WIN32 SOURCES text/windows/qwindowsfontdatabase_ft.cpp text/windows/qwindowsfontdatabase_ft_p.h LIBRARIES WrapFreetype::WrapFreetype ) -qt_extend_target(Gui CONDITION QT_FEATURE_direct2d AND QT_FEATURE_directwrite AND WIN32 +qt_internal_extend_target(Gui CONDITION QT_FEATURE_direct2d AND QT_FEATURE_directwrite AND WIN32 SOURCES text/windows/qwindowsfontenginedirectwrite.cpp text/windows/qwindowsfontenginedirectwrite_p.h LIBRARIES d2d1 ) -qt_extend_target(Gui CONDITION QT_FEATURE_direct2d AND QT_FEATURE_directwrite AND QT_FEATURE_directwrite3 AND WIN32 +qt_internal_extend_target(Gui CONDITION QT_FEATURE_direct2d AND QT_FEATURE_directwrite AND QT_FEATURE_directwrite3 AND WIN32 SOURCES text/windows/qwindowsdirectwritefontdatabase.cpp text/windows/qwindowsdirectwritefontdatabase_p.h LIBRARIES - dwrite # special case + dwrite ) -qt_extend_target(Gui CONDITION QT_FEATURE_direct2d AND QT_FEATURE_directwrite AND WIN32 AND NOT QT_FEATURE_directwrite3 +qt_internal_extend_target(Gui CONDITION QT_FEATURE_direct2d AND QT_FEATURE_directwrite AND WIN32 AND NOT QT_FEATURE_directwrite3 LIBRARIES - dwrite # special case + dwrite ) -qt_extend_target(Gui CONDITION MINGW AND WIN32 +qt_internal_extend_target(Gui CONDITION MINGW AND WIN32 LIBRARIES uuid ) -qt_extend_target(Gui CONDITION UNIX AND NOT ANDROID AND NOT INTEGRITY AND NOT (TEST_architecture_arch STREQUAL "arm64") AND NOT UIKIT - DEFINES - ENABLE_PIXMAN_DRAWHELPERS -) - -if(UNIX AND NOT ANDROID AND NOT INTEGRITY AND NOT (TEST_architecture_arch STREQUAL "arm64") AND NOT UIKIT) - qt_add_simd_part(Gui SIMD neon +# Only enable the Pixman draw-helpers on platforms that support the GAS syntax of their asm files +# Note: These helpers are only used for 16-bit surfaces, so excluding them does not generally +# exclude neon-drawhelpers on these platforms. +if(UNIX AND NOT ANDROID AND NOT INTEGRITY AND NOT (TEST_architecture_arch STREQUAL "arm64") AND NOT UIKIT AND NOT QT_IS_MACOS_UNIVERSAL) + qt_internal_extend_target(Gui + DEFINES + ENABLE_PIXMAN_DRAWHELPERS + ATTRIBUTION_FILE_DIR_PATHS + ../3rdparty/pixman + ) + qt_internal_add_simd_part(Gui SIMD neon SOURCES ../3rdparty/pixman/pixman-arm-neon-asm.S painting/qdrawhelper_neon_asm.S ) endif() -qt_extend_target(Gui CONDITION ANDROID AND TEST_architecture_arch STREQUAL x86_64 +qt_internal_extend_target(Gui CONDITION ANDROID AND TEST_architecture_arch STREQUAL x86_64 SOURCES painting/qdrawhelper_sse4.cpp painting/qimagescale_sse4.cpp @@ -773,81 +839,89 @@ qt_extend_target(Gui CONDITION ANDROID AND TEST_architecture_arch STREQUAL x86_6 QT_COMPILER_SUPPORTS_SSE4_2 ) -qt_extend_target(Gui CONDITION QT_FEATURE_system_zlib +qt_internal_extend_target(Gui CONDITION QT_FEATURE_system_zlib LIBRARIES - ZLIB::ZLIB + WrapZLIB::WrapZLIB ) -qt_extend_target(Gui CONDITION NOT QT_FEATURE_system_zlib +qt_internal_extend_target(Gui CONDITION NOT QT_FEATURE_system_zlib INCLUDE_DIRECTORIES ../3rdparty/zlib/src + ATTRIBUTION_FILE_DIR_PATHS + ../3rdparty/zlib ) -qt_extend_target(Gui CONDITION NOT QT_FEATURE_system_zlib AND NOT no_core_dep +qt_internal_extend_target(Gui CONDITION NOT QT_FEATURE_system_zlib AND NOT no_core_dep LIBRARIES Qt::Core ) -qt_extend_target(Gui CONDITION QT_FEATURE_regularexpression - SOURCES - util/qshadergenerator.cpp util/qshadergenerator_p.h -) - -qt_extend_target(Gui CONDITION QT_FEATURE_undocommand +qt_internal_extend_target(Gui CONDITION QT_FEATURE_undocommand SOURCES util/qundostack.cpp util/qundostack.h util/qundostack_p.h ) -qt_extend_target(Gui CONDITION QT_FEATURE_undogroup +qt_internal_extend_target(Gui CONDITION QT_FEATURE_undogroup SOURCES util/qundogroup.cpp util/qundogroup.h ) -qt_extend_target(Gui CONDITION QT_FEATURE_opengl AND QT_FEATURE_xlib AND NOT QT_FEATURE_opengles2 +qt_internal_extend_target(Gui CONDITION QT_FEATURE_opengl AND QT_FEATURE_xlib AND NOT QT_FEATURE_opengles2 SOURCES opengl/platform/unix/qglxconvenience.cpp opengl/platform/unix/qglxconvenience_p.h - PUBLIC_LIBRARIES + LIBRARIES X11::X11 ) -qt_extend_target(Gui CONDITION QT_FEATURE_egl AND QT_FEATURE_opengl +qt_internal_extend_target(Gui CONDITION QT_FEATURE_opengles2 SOURCES - opengl/platform/egl/qeglpbuffer.cpp opengl/platform/egl/qeglpbuffer_p.h - opengl/platform/egl/qeglplatformcontext.cpp opengl/platform/egl/qeglplatformcontext_p.h + opengl/qopengles2ext.h ) -qt_extend_target(Gui CONDITION QT_FEATURE_egl AND QT_FEATURE_egl_x11 +qt_internal_extend_target(Gui CONDITION QT_FEATURE_egl AND QT_FEATURE_opengl AND NOT WASM SOURCES - opengl/platform/egl/qxlibeglintegration.cpp opengl/platform/egl/qxlibeglintegration_p.h - LIBRARIES - X11::X11 + opengl/platform/egl/qeglpbuffer.cpp opengl/platform/egl/qeglpbuffer_p.h + opengl/platform/egl/qeglplatformcontext.cpp opengl/platform/egl/qeglplatformcontext_p.h ) -qt_extend_target(Gui CONDITION QT_FEATURE_egl AND NOT QT_FEATURE_egl_x11 +qt_internal_extend_target(Gui CONDITION QT_FEATURE_egl AND NOT QT_FEATURE_egl_x11 DEFINES QT_EGL_NO_X11 ) -qt_extend_target(Gui CONDITION QT_FEATURE_dlopen AND QT_FEATURE_egl +qt_internal_extend_target(Gui CONDITION QT_FEATURE_dlopen AND QT_FEATURE_egl LIBRARIES ${CMAKE_DL_LIBS} ) -qt_extend_target(Gui CONDITION QT_FEATURE_vulkan +qt_internal_extend_target(Gui CONDITION QT_FEATURE_standarditemmodel + SOURCES + itemmodels/qstandarditemmodel.cpp itemmodels/qstandarditemmodel.h itemmodels/qstandarditemmodel_p.h +) + +qt_internal_extend_target(Gui CONDITION QT_FEATURE_filesystemmodel + SOURCES + itemmodels/qfileinfogatherer.cpp itemmodels/qfileinfogatherer_p.h + itemmodels/qfilesystemmodel.cpp itemmodels/qfilesystemmodel.h itemmodels/qfilesystemmodel_p.h +) + +qt_internal_extend_target(Gui CONDITION QT_FEATURE_vulkan SOURCES rhi/qrhivulkan.cpp rhi/qrhivulkan_p.h - rhi/qrhivulkan_p_p.h vulkan/qbasicvulkanplatforminstance.cpp vulkan/qbasicvulkanplatforminstance_p.h vulkan/qplatformvulkaninstance.cpp vulkan/qplatformvulkaninstance.h + vulkan/qvulkandefaultinstance.cpp vulkan/qvulkandefaultinstance_p.h vulkan/qvulkanfunctions.cpp - vulkan/qvulkaninstance.cpp vulkan/qvulkaninstance.h + vulkan/qvulkaninstance.cpp vulkan/qvulkaninstance.h vulkan/qvulkaninstance_p.h vulkan/qvulkanwindow.cpp vulkan/qvulkanwindow.h vulkan/qvulkanwindow_p.h - PUBLIC_LIBRARIES - Vulkan::Vulkan_nolink + ATTRIBUTION_FILE_DIR_PATHS + vulkan ) +if(QT_FEATURE_vulkan) + qt_internal_add_target_include_dirs_and_optionally_propagate( + Gui WrapVulkanHeaders::WrapVulkanHeaders) +endif() -#### Keys ignored in scope 110:.:vulkan:vulkan/vulkan.pri:QT_FEATURE_vkgen: -# special case begin # We must always generate syncqt-injected header files, # because we added a custom command earlier for those for framework builds. set(vulkan_fun "qvulkanfunctions.h") @@ -858,11 +932,15 @@ if (QT_FEATURE_vulkan) set(vulkan_fun_p_cpp "qvulkanfunctions_p.cpp") list(APPEND vulkan_fun_outputs "vulkan/${vulkan_fun_p_cpp}") - if(QT_HOST_PATH) + if(NOT "${QT_HOST_PATH}" STREQUAL "") + set(host_executable_suffix "") + if(CMAKE_HOST_WIN32) + set(host_executable_suffix ".exe") + endif() qt_path_join(qvkgen "${QT_HOST_PATH}" - "${QT${PROJECT_VERSION_MAJOR}_HOST_INFO_BINDIR}" - "qvkgen") + "${QT${PROJECT_VERSION_MAJOR}_HOST_INFO_LIBEXECDIR}" + "qvkgen${host_executable_suffix}") else() set(qvkgen "${QT_CMAKE_EXPORT_NAMESPACE}::qvkgen") endif() @@ -870,13 +948,13 @@ if (QT_FEATURE_vulkan) list(APPEND vulkan_fun_command_content COMMAND "${qvkgen}" "${CMAKE_CURRENT_SOURCE_DIR}/vulkan/vk.xml" - "${PROJECT_SOURCE_DIR}/header.LGPL" + "${CMAKE_CURRENT_SOURCE_DIR}/vulkan/licenseheader.h.in" "${CMAKE_CURRENT_BINARY_DIR}/vulkan/qvulkanfunctions" - DEPENDS vulkan/vk.xml + DEPENDS vulkan/vk.xml ${qvkgen} COMMENT "Generating vulkan data" ) - extend_target(Gui + qt_internal_extend_target(Gui SOURCES "${CMAKE_CURRENT_BINARY_DIR}/vulkan/${vulkan_fun}" "${CMAKE_CURRENT_BINARY_DIR}/vulkan/${vulkan_fun_p}" @@ -892,67 +970,55 @@ add_custom_command( OUTPUT ${vulkan_fun_outputs} ${vulkan_fun_command_content} WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" + VERBATIM ) -# special case end - -#### Keys ignored in scope 68:.:vulkan:vulkan/vulkan.pri:QT_FEATURE_vkgen: -# QMAKE_EXTRA_COMPILERS = "qvkgen_h" "qvkgen_ph" "qvkgen_pimpl" -# QMAKE_QVKGEN_INPUT = "vulkan/vk.xml" -# QMAKE_QVKGEN_LICENSE_HEADER = "$$QT_SOURCE_TREE/header.LGPL" -# qvkgen_h.commands = "$$QMAKE_QVKGEN" "${QMAKE_FILE_IN}" "$$shell_quote($$QMAKE_QVKGEN_LICENSE_HEADER)" "${QMAKE_FILE_OUT_PATH}/${QMAKE_FILE_OUT_BASE}" -# qvkgen_h.input = "QMAKE_QVKGEN_INPUT" -# qvkgen_h.output = "$$OUT_PWD/vulkan/qvulkanfunctions.h" -# qvkgen_ph.commands = "$$escape_expand(\\n)" -# qvkgen_ph.depends = "$$OUT_PWD/vulkan/qvulkanfunctions.h" -# qvkgen_ph.input = "QMAKE_QVKGEN_INPUT" -# qvkgen_ph.output = "$$OUT_PWD/vulkan/qvulkanfunctions_p.h" -# qvkgen_pimpl.commands = "$$escape_expand(\\n)" -# qvkgen_pimpl.depends = "$$OUT_PWD/vulkan/qvulkanfunctions_p.h" -# qvkgen_pimpl.input = "QMAKE_QVKGEN_INPUT" -# qvkgen_pimpl.output = "$$OUT_PWD/vulkan/qvulkanfunctions_p.cpp" - -#### Keys ignored in scope 111:.:vulkan:vulkan/vulkan.pri:QT_FEATURE_vulkan: -# qvkgen_h.variable_out = "HEADERS" - -#### Keys ignored in scope 112:.:vulkan:vulkan/vulkan.pri:else: -# qvkgen_h.CONFIG = "target_predeps" "no_link" -qt_extend_target(Gui CONDITION WASM +qt_internal_extend_target(Gui CONDITION WASM SOURCES + platform/wasm/qlocalfileapi.cpp platform/wasm/qlocalfileapi_p.h platform/wasm/qwasmlocalfileaccess.cpp platform/wasm/qwasmlocalfileaccess_p.h ) -qt_extend_target(Gui CONDITION UNIX +qt_internal_extend_target(Gui CONDITION UNIX + SOURCES + platform/unix/qunixnativeinterface.cpp +) + +qt_internal_extend_target(Gui CONDITION UNIX AND NOT WASM SOURCES platform/unix/qgenericunixeventdispatcher.cpp platform/unix/qgenericunixeventdispatcher_p.h platform/unix/qunixeventdispatcher.cpp platform/unix/qunixeventdispatcher_qpa_p.h - platform/unix/qunixplatforminterface.cpp ) -qt_extend_target(Gui CONDITION QT_FEATURE_glib AND UNIX +qt_internal_extend_target(Gui CONDITION QT_FEATURE_glib AND UNIX SOURCES platform/unix/qeventdispatcher_glib.cpp platform/unix/qeventdispatcher_glib_p.h LIBRARIES GLIB2::GLIB2 ) -qt_extend_target(Gui CONDITION UNIX AND (QT_FEATURE_xcb OR NOT UIKIT) +qt_internal_extend_target(Gui CONDITION UNIX AND (QT_FEATURE_xcb OR NOT UIKIT) SOURCES platform/unix/qgenericunixservices.cpp platform/unix/qgenericunixservices_p.h ) -qt_extend_target(Gui CONDITION TARGET Qt::DBus AND UNIX AND (QT_FEATURE_xcb OR NOT UIKIT) +qt_internal_extend_target(Gui CONDITION UNIX AND (QT_FEATURE_xcb) + SOURCES + platform/unix/qtx11extras.cpp platform/unix/qtx11extras_p.h +) + +qt_internal_extend_target(Gui CONDITION TARGET Qt::DBus AND UNIX AND (QT_FEATURE_xcb OR NOT UIKIT) LIBRARIES Qt::DBus ) -qt_extend_target(Gui CONDITION UNIX AND (QT_FEATURE_xcb OR NOT MACOS) AND (QT_FEATURE_xcb OR NOT UIKIT) +qt_internal_extend_target(Gui CONDITION UNIX AND (QT_FEATURE_xcb OR NOT MACOS) AND (QT_FEATURE_xcb OR NOT UIKIT) SOURCES platform/unix/qgenericunixthemes.cpp platform/unix/qgenericunixthemes_p.h ) -qt_extend_target(Gui CONDITION TARGET Qt::DBus AND UNIX AND (QT_FEATURE_xcb OR NOT MACOS) AND (QT_FEATURE_xcb OR NOT UIKIT) +qt_internal_extend_target(Gui CONDITION TARGET Qt::DBus AND UNIX AND (QT_FEATURE_xcb OR NOT MACOS) AND (QT_FEATURE_xcb OR NOT UIKIT) SOURCES platform/unix/dbusmenu/qdbusmenuadaptor.cpp platform/unix/dbusmenu/qdbusmenuadaptor_p.h platform/unix/dbusmenu/qdbusmenubar.cpp platform/unix/dbusmenu/qdbusmenubar_p.h @@ -962,7 +1028,7 @@ qt_extend_target(Gui CONDITION TARGET Qt::DBus AND UNIX AND (QT_FEATURE_xcb OR N platform/unix/dbusmenu/qdbusplatformmenu.cpp platform/unix/dbusmenu/qdbusplatformmenu_p.h ) -qt_extend_target(Gui CONDITION QT_FEATURE_systemtrayicon AND TARGET Qt::DBus AND UNIX AND (QT_FEATURE_xcb OR NOT MACOS) AND (QT_FEATURE_xcb OR NOT UIKIT) +qt_internal_extend_target(Gui CONDITION QT_FEATURE_systemtrayicon AND TARGET Qt::DBus AND UNIX AND (QT_FEATURE_xcb OR NOT MACOS) AND (QT_FEATURE_xcb OR NOT UIKIT) SOURCES platform/unix/dbustray/qdbustrayicon.cpp platform/unix/dbustray/qdbustrayicon_p.h platform/unix/dbustray/qdbustraytypes.cpp platform/unix/dbustray/qdbustraytypes_p.h @@ -970,32 +1036,48 @@ qt_extend_target(Gui CONDITION QT_FEATURE_systemtrayicon AND TARGET Qt::DBus AND platform/unix/dbustray/qxdgnotificationproxy.cpp platform/unix/dbustray/qxdgnotificationproxy_p.h ) -qt_extend_target(Gui CONDITION QT_FEATURE_xkbcommon AND UNIX +qt_internal_extend_target(Gui CONDITION QT_FEATURE_xkbcommon AND UNIX SOURCES platform/unix/qxkbcommon.cpp platform/unix/qxkbcommon_p.h platform/unix/qxkbcommon_3rdparty.cpp - PUBLIC_LIBRARIES + LIBRARIES + XKB::XKB + PRIVATE_MODULE_INTERFACE XKB::XKB ) -qt_extend_target(Gui CONDITION IOS OR MACOS +qt_internal_extend_target(Gui CONDITION QT_FEATURE_metal SOURCES rhi/qrhimetal.mm rhi/qrhimetal_p.h - rhi/qrhimetal_p_p.h PUBLIC_LIBRARIES ${FWMetal} ) -qt_extend_target(Gui # special case CONDITION NOT GCC OR NOT QT_COMPILER_VERSION_MAJOR STREQUAL 5 # source subtraction gone wrong +qt_internal_extend_target(Gui SOURCES - painting/qdrawhelper.cpp + painting/qdrawhelper.cpp painting/qdrawhelper_neon_p.h NO_PCH_SOURCES "painting/qdrawhelper.cpp" ) +qt_internal_extend_target(Gui CONDITION (QT_FEATURE_eglfs OR QT_FEATURE_xcb OR QT_FEATURE_direct2d OR WIN32) + SOURCES + util/qedidparser.cpp util/qedidparser_p.h + util/qedidvendortable_p.h +) -qt_create_tracepoints(Gui qtgui.tracepoints) -qt_add_docs(Gui +qt_internal_generate_tracepoints(Gui gui + SOURCES + image/qimage.cpp image/qimagereader.cpp image/qpixmap.cpp kernel/qguiapplication.cpp + text/qfontdatabase.cpp +) +qt_internal_add_docs(Gui doc/qtgui.qdocconf ) +if(IOS) + qt_internal_set_apple_privacy_manifest(Gui + "${CMAKE_CURRENT_SOURCE_DIR}/platform/ios/PrivacyInfo.xcprivacy") +endif() + +qt_internal_add_optimize_full_flags() |