qt5base-lts/tests/manual/dialogs/CMakeLists.txt
Marc Mutz 11d6932560 Mark all of Qt as free of Q_FOREACH, except where it isn't
The density of Q_FOREACH uses in this and some other modules is still
extremely high, too high for anyone to tackle in a short amount of
time. Even if they're not concentrated in just a few TUs, we need to
make progress on a global QT_NO_FOREACH default, so grab the nettle
and stick to our strategy:

Mark the whole of Qt with QT_NO_FOREACH, to prevent new uses from
creeping in, and whitelist the affected TUs by #undef'ing
QT_NO_FOREACH locally, at the top of each file. For TUs that are part
of a larger executable, this requires these files to be compiled
separately, so add them to NO_PCH_SOURCES (which implies
NO_UNITY_BUILD_SOURCES, too).

In tst_qglobal.cpp and tst_qcollections.cpp change the comment on the
#undef QT_NO_FOREACH to indicate that these actually test the macro.

Task-number: QTBUG-115839
Change-Id: Iecc444eb7d43d7e4d037f6e155abe0e14a00a5d6
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2023-08-19 05:19:42 +00:00

42 lines
1.2 KiB
CMake

# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause
#####################################################################
## dialogs Binary:
#####################################################################
qt_internal_add_manual_test(dialogs
GUI
SOURCES
colordialogpanel.cpp colordialogpanel.h
filedialogpanel.cpp filedialogpanel.h
fontdialogpanel.cpp fontdialogpanel.h
main.cpp
messageboxpanel.cpp messageboxpanel.h
utils.cpp utils.h
wizardpanel.cpp wizardpanel.h
NO_PCH_SOURCES
filedialogpanel.cpp # undef QT_NO_FOREACH
utils.cpp # undef QT_NO_FOREACH
LIBRARIES
Qt::Gui
Qt::Widgets
)
## Scopes:
#####################################################################
qt_internal_extend_target(dialogs CONDITION TARGET Qt::PrintSupport
LIBRARIES
Qt::PrintSupport
)
qt_internal_extend_target(dialogs CONDITION NOT (QT_FEATURE_printer EQUAL FALSE)
SOURCES
printdialogpanel.cpp printdialogpanel.h printdialogpanel.ui
NO_PCH_SOURCES
printdialogpanel.cpp # undef QT_NO_FOREACH
ENABLE_AUTOGEN_TOOLS
uic
)