qt5base-lts/src/opengl
Alexandru Croitor 3c23317552 CMake: Make WrapVulkanHeaders target optional for QtGui consumers
If Vulkan headers are present on the system when qtbase is configured,
QtGui and QtOpenGL should be compiled with Vulkan support.

If a user project uses a Qt built with Vulkan support, but their system
is missing Vulkan headers, the project configuration needs to succeed.

The project will get compilation errors if it uses Vulkan headers, but
that's intended.

This use case was broken when fixing Vulkan to be found when building
Qt for Android.

Fix the regression with a combination of things
1) Mark the WrapVulkanHeaders package as optional (already the case)
2) Use the include directories directly when compiling Gui and OpenGL
3) Propagate WrapVulkanHeaders::WrapVulkanHeaders link requirement to
   consumers only if the target exists. It won't exist if Vulkan
   include dirs are not found

This also requires some changes in pri and prl file generation.

For prl file generation, we don't want to link to the
WrapVulkanHeaders target, so we filter out all dependencies that
use TARGET_NAME_IF_EXISTS for anything that calls
__qt_internal_walk_libs which includes qt_collect_libs.

For pri files, we make sure to generate a uses=vulkan/nolink clause
by inspecting a new _qt_is_nolink_target property on the target.

We also don't add include dirs to the pri file if the new
_qt_skip_include_dir_for_pri property is set.
This is intended for Vulkan, because there is separate qmake logic to
try and find the include dirs when configuring a user project.

As a drive-by, fix nolink handling for WrapOpenSSLHeaders.

Amends bb25536a3d
Amends 7b9904849f

Pick-to: 6.2
Fixes: QTBUG-95391
Change-Id: I21e2f4be5c386f9e40033e4691f4786a91ba0e2d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2021-07-29 16:38:50 +02:00
..
doc Doc: Change section titles that cause bad links 2021-03-11 15:01:35 +01:00
CMakeLists.txt CMake: Make WrapVulkanHeaders target optional for QtGui consumers 2021-07-29 16:38:50 +02:00
qopengl2pexvertexarray_p.h Remove unnecessary ; after function implementations 2020-07-06 11:46:39 +02:00
qopengl2pexvertexarray.cpp Move QOpenGLPaintEngine and related classes from QtGui to QtOpenGL 2020-01-22 09:40:59 +01:00
qopenglbuffer.cpp Get rid of QT_OPENGL_ES* 2020-04-17 11:50:24 +02:00
qopenglbuffer.h Move QOpenGLBuffer from QtGui to QtOpenGL 2020-02-22 02:08:26 +01:00
qopenglcompositor_p.h Move QtPlatformCompositorSupport into QtOpenGL 2020-05-28 21:39:48 +02:00
qopenglcompositor.cpp Move QtPlatformCompositorSupport into QtOpenGL 2020-05-28 21:39:48 +02:00
qopenglcompositorbackingstore_p.h Move QtPlatformCompositorSupport into QtOpenGL 2020-05-28 21:39:48 +02:00
qopenglcompositorbackingstore.cpp Move QtPlatformCompositorSupport into QtOpenGL 2020-05-28 21:39:48 +02:00
qopenglcustomshaderstage_p.h Move QOpenGLPaintEngine and related classes from QtGui to QtOpenGL 2020-01-22 09:40:59 +01:00
qopenglcustomshaderstage.cpp Move QOpenGLPaintEngine and related classes from QtGui to QtOpenGL 2020-01-22 09:40:59 +01:00
qopengldebug.cpp Change QByteArray to handle large arrays 2020-08-27 18:58:20 +02:00
qopengldebug.h Centralize the implementation of move assignment operators 2020-10-03 11:47:17 +02:00
qopenglengineshadermanager_p.h Use QList instead of QVector in opengl 2020-06-26 15:09:17 +02:00
qopenglengineshadermanager.cpp Use (new) erase()/erase_if() algorithms 2020-12-05 00:47:44 +01:00
qopenglengineshadersource_p.h Move QOpenGLPaintEngine and related classes from QtGui to QtOpenGL 2020-01-22 09:40:59 +01:00
qopenglframebufferobject_p.h Switch to qvla where makes sense in opengl 2020-06-30 13:01:35 +02:00
qopenglframebufferobject.cpp Introduce float QImage formats and rendering 2021-05-26 18:00:01 +02:00
qopenglframebufferobject.h QOpenGLFramebufferObject: merge toImage overloads 2020-09-10 17:30:02 +02:00
qopenglfunctions_1_0.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_1_0.h Get rid of QT_OPENGL_ES* 2020-04-17 11:50:24 +02:00
qopenglfunctions_1_1.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_1_1.h Get rid of QT_OPENGL_ES* 2020-04-17 11:50:24 +02:00
qopenglfunctions_1_2.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_1_2.h Get rid of QT_OPENGL_ES* 2020-04-17 11:50:24 +02:00
qopenglfunctions_1_3.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_1_3.h Get rid of QT_OPENGL_ES* 2020-04-17 11:50:24 +02:00
qopenglfunctions_1_4.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_1_4.h Get rid of QT_OPENGL_ES* 2020-04-17 11:50:24 +02:00
qopenglfunctions_1_5.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_1_5.h Get rid of QT_OPENGL_ES* 2020-04-17 11:50:24 +02:00
qopenglfunctions_2_0.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_2_0.h Get rid of QT_OPENGL_ES* 2020-04-17 11:50:24 +02:00
qopenglfunctions_2_1.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_2_1.h Get rid of QT_OPENGL_ES* 2020-04-17 11:50:24 +02:00
qopenglfunctions_3_0.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_3_0.h Get rid of QT_OPENGL_ES* 2020-04-17 11:50:24 +02:00
qopenglfunctions_3_1.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_3_1.h Remove methods that shouldn't be in the OpenGL wrappers 2020-10-07 13:54:06 +02:00
qopenglfunctions_3_2_compatibility.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_3_2_compatibility.h Get rid of QT_OPENGL_ES* 2020-04-17 11:50:24 +02:00
qopenglfunctions_3_2_core.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_3_2_core.h Remove methods that shouldn't be in the OpenGL wrappers 2020-10-07 13:54:06 +02:00
qopenglfunctions_3_3_compatibility.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_3_3_compatibility.h Get rid of QT_OPENGL_ES* 2020-04-17 11:50:24 +02:00
qopenglfunctions_3_3_core.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_3_3_core.h Remove methods that shouldn't be in the OpenGL wrappers 2020-10-07 13:54:06 +02:00
qopenglfunctions_4_0_compatibility.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_4_0_compatibility.h Get rid of QT_OPENGL_ES* 2020-04-17 11:50:24 +02:00
qopenglfunctions_4_0_core.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_4_0_core.h Remove methods that shouldn't be in the OpenGL wrappers 2020-10-07 13:54:06 +02:00
qopenglfunctions_4_1_compatibility.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_4_1_compatibility.h Get rid of QT_OPENGL_ES* 2020-04-17 11:50:24 +02:00
qopenglfunctions_4_1_core.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_4_1_core.h Remove methods that shouldn't be in the OpenGL wrappers 2020-10-07 13:54:06 +02:00
qopenglfunctions_4_2_compatibility.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_4_2_compatibility.h Get rid of QT_OPENGL_ES* 2020-04-17 11:50:24 +02:00
qopenglfunctions_4_2_core.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_4_2_core.h Remove methods that shouldn't be in the OpenGL wrappers 2020-10-07 13:54:06 +02:00
qopenglfunctions_4_3_compatibility.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_4_3_compatibility.h Get rid of QT_OPENGL_ES* 2020-04-17 11:50:24 +02:00
qopenglfunctions_4_3_core.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_4_3_core.h Remove methods that shouldn't be in the OpenGL wrappers 2020-10-07 13:54:06 +02:00
qopenglfunctions_4_4_compatibility.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_4_4_compatibility.h Get rid of QT_OPENGL_ES* 2020-04-17 11:50:24 +02:00
qopenglfunctions_4_4_core.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_4_4_core.h Get rid of QT_OPENGL_ES* 2020-04-17 11:50:24 +02:00
qopenglfunctions_4_5_compatibility.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_4_5_compatibility.h Get rid of QT_OPENGL_ES* 2020-04-17 11:50:24 +02:00
qopenglfunctions_4_5_core.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_4_5_core.h Get rid of QT_OPENGL_ES* 2020-04-17 11:50:24 +02:00
qopenglfunctions_es2.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglfunctions_es2.h Get rid of QT_OPENGL_ES* 2020-04-17 11:50:24 +02:00
qopenglgradientcache_p.h Move QOpenGLPaintEngine and related classes from QtGui to QtOpenGL 2020-01-22 09:40:59 +01:00
qopenglgradientcache.cpp Move QOpenGLPaintEngine and related classes from QtGui to QtOpenGL 2020-01-22 09:40:59 +01:00
qopenglpaintdevice_p.h Move QOpenGLPaintEngine and related classes from QtGui to QtOpenGL 2020-01-22 09:40:59 +01:00
qopenglpaintdevice.cpp opengl: fix a typo in QOpenGLPaintDevice::dotsPerMeterY() 2021-07-06 15:56:09 +02:00
qopenglpaintdevice.h Move QOpenGLPaintEngine and related classes from QtGui to QtOpenGL 2020-01-22 09:40:59 +01:00
qopenglpaintengine_p.h Switch to qvla where makes sense in opengl 2020-06-30 13:01:35 +02:00
qopenglpaintengine.cpp Introduce float QImage formats and rendering 2021-05-26 18:00:01 +02:00
qopenglpixeltransferoptions.cpp Move QOpenGLTexture and related classes from QtGui to QtOpenGL 2020-01-24 08:57:38 +01:00
qopenglpixeltransferoptions.h Centralize the implementation of move assignment operators 2020-10-03 11:47:17 +02:00
qopenglqueryhelper_p.h Get rid of QT_OPENGL_ES* 2020-04-17 11:50:24 +02:00
qopenglshadercache_p.h Move QOpenGLPaintEngine and related classes from QtGui to QtOpenGL 2020-01-22 09:40:59 +01:00
qopenglshaderprogram.cpp Replace Qt CONSTEXPR defines with constexpr 2020-08-14 15:52:58 +02:00
qopenglshaderprogram.h Use QList instead of QVector in opengl 2020-06-26 15:09:17 +02:00
qopengltexture_p.h Move QOpenGLTexture and related classes from QtGui to QtOpenGL 2020-01-24 08:57:38 +01:00
qopengltexture.cpp Silence qdoc warning from deprecated enum value 2021-04-12 15:19:41 +00:00
qopengltexture.h QOpenGLTexture: Fix typo in enum value 2021-03-03 14:50:59 +01:00
qopengltextureblitter.cpp Smart pointers: port to explicit operator bool 2020-08-26 02:19:17 +02:00
qopengltextureblitter.h Move QOpenGLTextureBlitter from QtGui to QtOpenGL 2020-02-04 18:02:41 +01:00
qopengltexturecache_p.h Move QOpenGLPaintEngine and related classes from QtGui to QtOpenGL 2020-01-22 09:40:59 +01:00
qopengltexturecache.cpp Add more LTTNG tracing points 2020-06-11 09:14:32 +02:00
qopengltextureglyphcache_p.h Implement vertical subpixel positioning where available 2021-01-25 15:56:50 +01:00
qopengltextureglyphcache.cpp Implement vertical subpixel positioning where available 2021-01-25 15:56:50 +01:00
qopengltexturehelper_p.h Get rid of QT_OPENGL_ES* 2020-04-17 11:50:24 +02:00
qopengltexturehelper.cpp Get rid of QT_OPENGL_ES* 2020-04-17 11:50:24 +02:00
qopengltextureuploader_p.h Move QOpenGLPaintEngine and related classes from QtGui to QtOpenGL 2020-01-22 09:40:59 +01:00
qopengltextureuploader.cpp Introduce float QImage formats and rendering 2021-05-26 18:00:01 +02:00
qopengltimerquery.cpp Use QList instead of QVector in opengl 2020-06-26 15:09:17 +02:00
qopengltimerquery.h Use QList instead of QVector in opengl 2020-06-26 15:09:17 +02:00
qopenglversionfunctions_p.h Resolve OpenGL version functions in thread-safe manner 2020-04-17 16:00:43 +02:00
qopenglversionfunctions.cpp Doc: Fix documentation warnings for Qt OpenGL 2020-10-30 06:19:26 +01:00
qopenglversionfunctions.h Hide comparison operators for QtOpenGLVersion types from ADL 2020-10-30 17:29:45 +01:00
qopenglversionfunctionsfactory.cpp Doc: Fix documentation warnings for Qt OpenGL 2020-10-30 06:19:26 +01:00
qopenglversionfunctionsfactory.h Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglversionprofile.cpp Move versioned OpenGL functions from QtGui to QtOpenGL 2020-04-16 07:14:51 +02:00
qopenglversionprofile.h Hide comparison operators for QtOpenGLVersion types from ADL 2020-10-30 17:29:45 +01:00
qopenglvertexarrayobject_p.h Enable access to the VAO resolvers through QOpenGLContextPrivate 2020-06-22 12:48:30 +02:00
qopenglvertexarrayobject.cpp Enable access to the VAO resolvers through QOpenGLContextPrivate 2020-06-22 12:48:30 +02:00
qopenglvertexarrayobject.h QOGLVAO::Binder: unexport a value class 2020-06-18 13:03:26 +02:00
qopenglwindow.cpp Docs: Remove traces of QGL 2020-02-20 16:11:02 +01:00
qopenglwindow.h Move QOpenGLWindow from QtGui to QtOpenGL 2020-01-15 15:38:59 +01:00
qplatformbackingstoreopenglsupport.cpp Fix inexplicably changed condition in GL backingstore composition 2021-06-09 18:19:16 +02:00
qplatformbackingstoreopenglsupport.h Register QPlatformBackingStoreOpenGLSupport when needed 2020-07-29 20:34:15 +02:00
qtopengl.tracepoints Fix compilation error when LTTng enabled 2021-03-25 15:37:55 +09:00
qtopenglglobal.h Migrate to autogenerated cpp exports 2021-06-25 19:33:12 +02:00
qvkconvenience_p.h Move QtVulkanSupport into QtGui and QtOpenGL 2020-05-22 15:38:28 +02:00
qvkconvenience.cpp Move QtVulkanSupport into QtGui and QtOpenGL 2020-05-22 15:38:28 +02:00