# Main projectfile
#####################################################################
-CONFIG += ordered
-TEMPLATE = subdirs
+load(qt_parts)
cross_compile: CONFIG += nostrip
-module_qtbase_tests.subdir = tests
-module_qtbase_tests.target = module-qtbase-tests
-module_qtbase_tests.depends = module_qtbase_src
-module_qtbase_tests.CONFIG = no_default_install
-
-#process the projects
-PROJECTS=$$eval($$list($$lower($$unique(QT_BUILD_PARTS))))
-# note that the order matters for these blocks!
-contains(PROJECTS, qmake) {
- PROJECTS -= qmake
- # nothing to be done
-}
-contains(PROJECTS, libs) {
- PROJECTS -= libs
- SUBDIRS += src
-}
-contains(PROJECTS, examples) {
- PROJECTS -= examples
- !fast:SUBDIRS += examples
-}
-contains(PROJECTS, tests) {
- PROJECTS -= tests
- !fast:SUBDIRS += module_qtbase_tests
-}
-!isEmpty(PROJECTS) {
- message(Unknown PROJECTS: $$PROJECTS)
-}
-
confclean.depends += clean
confclean.commands =
unix {
(cd config.tests/unix/sqlite2 && $(MAKE) distclean); \
(cd config.tests/unix/libjpeg && $(MAKE) distclean); \
(cd config.tests/unix/libpng && $(MAKE) distclean); \
+ (cd config.tests/unix/slog2 && $(MAKE) distclean); \
(cd config.tests/x11/xcursor && $(MAKE) distclean); \
(cd config.tests/x11/xrender && $(MAKE) distclean); \
(cd config.tests/x11/xrandr && $(MAKE) distclean); \
#qmake
qmake.path = $$[QT_HOST_BINS]
-win32 {
+equals(QMAKE_HOST.os, Windows) {
qmake.files = $$OUT_PWD/bin/qmake.exe
} else {
qmake.files = $$OUT_PWD/bin/qmake
#syncqt
syncqt.path = $$[QT_HOST_BINS]
-syncqt.files = $$OUT_PWD/bin/syncqt
-win32:syncqt.files = $$OUT_PWD/bin/syncqt.bat
+syncqt.files = $$PWD/bin/syncqt
+equals(QMAKE_HOST.os, Windows):syncqt.files += $$PWD/bin/syncqt.bat
INSTALLS += syncqt
-#qtmodule-configtests
-configtests.path = $$[QT_HOST_BINS]
-configtests.files = $$PWD/bin/qtmodule-configtests
-INSTALLS += configtests
-
#mkspecs
mkspecs.path = $$[QT_HOST_DATA]/mkspecs
-mkspecs.files = $$OUT_PWD/mkspecs/qconfig.pri $$OUT_PWD/mkspecs/qmodule.pri $$OUT_PWD/mkspecs/qdevice.pri $$files($$PWD/mkspecs/*)
+mkspecs.files = \
+ $$OUT_PWD/mkspecs/qconfig.pri $$OUT_PWD/mkspecs/qmodule.pri $$OUT_PWD/mkspecs/qdevice.pri \
+ $$files($$PWD/mkspecs/*) # $$OUT_PWD contains only symlinks under Unix
mkspecs.files -= $$PWD/mkspecs/modules
-unix {
- DEFAULT_QMAKESPEC = $$replace(QMAKESPEC, ^.*mkspecs/, )
- DEFAULT_XQMAKESPEC = $$replace(XQMAKESPEC, ^.*mkspecs/, )
- mkspecs.commands = \
- $(DEL_FILE) $(INSTALL_ROOT)$$mkspecs.path/default-host $(INSTALL_ROOT)$$mkspecs.path/default; \
- $(SYMLINK) $$DEFAULT_QMAKESPEC $(INSTALL_ROOT)$$mkspecs.path/default-host && \
- $(SYMLINK) $$DEFAULT_XQMAKESPEC $(INSTALL_ROOT)$$mkspecs.path/default
- mkspecs.files -= $$PWD/mkspecs/default-host $$PWD/mkspecs/default
-} else:!equals(OUT_PWD, $$PWD) {
- # When shadow building on Windows, the default mkspec only exists in the build tree.
+!equals(OUT_PWD, $$PWD) {
+ # When shadow building, the default mkspecs only exist in the build tree.
mkspecs.files += $$OUT_PWD/mkspecs/default-host $$OUT_PWD/mkspecs/default
}
+!equals(QMAKE_HOST.os, Linux):!equals(QMAKE_HOST.os, Windows) {
+ # MacOS' (and maybe other Unixes') cp command is too daft to honor -f when copying symlinks.
+ mkspecs_pre.commands = rm -f $$[QT_HOST_DATA]/mkspecs/default-host $$[QT_HOST_DATA]/mkspecs/default
+ QMAKE_EXTRA_TARGETS += mkspecs_pre
+ mkspecs.depends += mkspecs_pre
+}
INSTALLS += mkspecs
+global_docs.files = $$PWD/doc/global
+global_docs.path = $$[QT_INSTALL_DOCS]
+INSTALLS += global_docs
+
OTHER_FILES += \
configure \
header.BSD \