announce the android platform in the respective specs
[profile/ivi/qtbase.git] / qtbase.pro
index ec3b0b2..8e65546 100644 (file)
@@ -2,39 +2,10 @@
 # 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
-    include(src/src.pro)
-}
-contains(PROJECTS, examples) {
-    PROJECTS -= examples
-    SUBDIRS += examples
-}
-contains(PROJECTS, tests) {
-    PROJECTS -= tests
-    SUBDIRS += module_qtbase_tests
-}
-!isEmpty(PROJECTS) {
-    message(Unknown PROJECTS: $$PROJECTS)
-}
-
 confclean.depends += clean
 confclean.commands =
 unix {
@@ -65,7 +36,6 @@ unix {
                        (cd config.tests/x11/xinput && $(MAKE) distclean); \
                        (cd config.tests/x11/fontconfig && $(MAKE) distclean); \
                        (cd config.tests/x11/xinerama && $(MAKE) distclean); \
-                       (cd config.tests/x11/sm && $(MAKE) distclean); \
                        (cd config.tests/x11/xshape && $(MAKE) distclean); \
                        (cd config.tests/x11/opengl && $(MAKE) distclean); \
                         $(DEL_FILE) config.tests/.qmake.cache; \
@@ -97,7 +67,7 @@ CONFIG -= qt
 
 #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
@@ -106,28 +76,25 @@ INSTALLS += 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 = $$QMAKESPEC
-   DEFAULT_QMAKESPEC ~= s,^.*mkspecs/,,g
-   mkspecs.commands += $(DEL_FILE) $(INSTALL_ROOT)$$mkspecs.path/default; $(SYMLINK) $$DEFAULT_QMAKESPEC $(INSTALL_ROOT)$$mkspecs.path/default
-   mkspecs.files -= $$PWD/mkspecs/default
+!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
 }
-win32:!equals(OUT_PWD, $$PWD) {
-    # When shadow building on Windows, the default mkspec only exists in the build tree.
-    mkspecs.files += $$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