From 43cb801ccb10e2d9efd230803822761b794fd4fb Mon Sep 17 00:00:00 2001 From: Alexey Edelev Date: Mon, 8 Feb 2021 15:56:39 +0100 Subject: 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 --- src/plugins/sqldrivers/psql/CMakeLists.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/plugins/sqldrivers/psql/CMakeLists.txt') diff --git a/src/plugins/sqldrivers/psql/CMakeLists.txt b/src/plugins/sqldrivers/psql/CMakeLists.txt index 2de82be2f8..ab3d6c03aa 100644 --- a/src/plugins/sqldrivers/psql/CMakeLists.txt +++ b/src/plugins/sqldrivers/psql/CMakeLists.txt @@ -24,3 +24,14 @@ qt_internal_add_plugin(QPSQLDriverPlugin #### Keys ignored in scope 1:.:.:psql.pro:: # 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() -- cgit v1.2.3