Fix compilation of the QPSQLDriverPlugin plugin with enabled PCH

PostgreSQL package delivers several header files such as pthread, zlib,
zconf, uuid, etc. within Windows installation package. The headers are
exposed to the compiler by PostgreSQL include paths and have different
versions. When compiling PCH of the QPSQLDriverPlugin plugin, MinGW uses
the pthread.h header from the PostgreSQL include paths, that cause an
error related to pthread implementation mismatch.

Disable PCH for the QPSQLDriverPlugin plugin, when using MinGW.

Fixes: QTBUG-90850
Change-Id: I0be91bbefe37731acb2658d679b5b644ef552b23
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
Alexey Edelev 2021-02-08 15:56:39 +01:00
parent a289bc84c6
commit 43cb801ccb

View File

@ -24,3 +24,14 @@ qt_internal_add_plugin(QPSQLDriverPlugin
#### Keys ignored in scope 1:.:.:psql.pro:<TRUE>:
# OTHER_FILES = "psql.json"
# PostgreSQL delivers header files that are not a part of PostgreSQL itself. When precompiled
# headers are processed, MinGW uses 'pthread.h' from the PostgreSQL installation directory.
# As result, we disable precompile headers for the plugin.
# See also QTBUG-90850.
if(MINGW)
set_target_properties(QPSQLDriverPlugin
PROPERTIES
DISABLE_PRECOMPILE_HEADERS ON
)
endif()