Fix unresolved include in bootstraplib when using source copies

When QT_USE_BOOTSTRAP_SOURCE_COPY is ON, there are situations where
includes like
    "../../3rdparty/sha1/sha1.cpp"
in qcryptographichash.cpp cannot be resolved.  For example,
out-of-source MSVC builds are affected.

In-source builds are working by accident, because we're adding the
include path "<qtbase-build-dir>/src/corelib/global", and
<qtbase-build-dir> is <qtbase-source-dir>.

Linux/macOS builds are working by accident, because we're adding the
include path "<qtbase-source-dir>/src/3rdparty/forkfd".

Fix this by explicitly adding the directory where qcryptographichash.cpp
resides to INCLUDE_DIRECTORIES.

This amends commit 743bb66744e762d10754426e43d42b24cc7bff0f.

Fixes: QTBUG-102720
Change-Id: I55fcc186ea4c81134c39023ced3f04458230109b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
Joerg Bornemann 2022-04-20 09:33:47 +02:00
parent 86321a0deb
commit 80a8ead08d

View File

@ -154,6 +154,10 @@ qt_internal_extend_target(Bootstrap
## Scopes:
#####################################################################
qt_internal_extend_target(Bootstrap CONDITION QT_USE_BOOTSTRAP_SOURCE_COPY
INCLUDE_DIRECTORIES "${QtBase_SOURCE_DIR}/src/corelib/tools" # for qcryptographichash.cpp
)
qt_internal_extend_target(Bootstrap CONDITION UNIX
SOURCES
../../corelib/io/qfilesystemengine_unix.cpp