projects.pro
changeset 0 1918ee327afb
child 3 41300fa6a67c
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1 #####################################################################
       
     2 # Main projectfile
       
     3 #####################################################################
       
     4 
       
     5 CONFIG += ordered
       
     6 TEMPLATE = subdirs
       
     7 
       
     8 cross_compile: CONFIG += nostrip
       
     9 
       
    10 isEmpty(QT_BUILD_PARTS) { #defaults
       
    11     symbian {
       
    12        QT_BUILD_PARTS = libs tools examples demos
       
    13     } else {
       
    14        QT_BUILD_PARTS = libs tools examples demos docs translations
       
    15     }
       
    16 } else { #make sure the order makes sense
       
    17    contains(QT_BUILD_PARTS, translations) {
       
    18        QT_BUILD_PARTS -= translations
       
    19        QT_BUILD_PARTS = translations $$QT_BUILD_PARTS
       
    20    }
       
    21    contains(QT_BUILD_PARTS, tools) {
       
    22        QT_BUILD_PARTS -= tools
       
    23        QT_BUILD_PARTS = tools $$QT_BUILD_PARTS
       
    24    }
       
    25    contains(QT_BUILD_PARTS, libs) {
       
    26        QT_BUILD_PARTS -= libs
       
    27        QT_BUILD_PARTS = libs $$QT_BUILD_PARTS
       
    28    }
       
    29    contains(QT_BUILD_PARTS, qmake) {
       
    30        QT_BUILD_PARTS -= qmake
       
    31        QT_BUILD_PARTS = qmake $$QT_BUILD_PARTS
       
    32    }
       
    33 }
       
    34 
       
    35 # QTP tests into build
       
    36 QT_BUILD_PARTS += tests
       
    37 
       
    38 #process the projects
       
    39 for(PROJECT, $$list($$lower($$unique(QT_BUILD_PARTS)))) {
       
    40     isEqual(PROJECT, tools) {
       
    41        SUBDIRS += tools
       
    42     } else:isEqual(PROJECT, examples) {
       
    43        SUBDIRS += examples
       
    44     } else:isEqual(PROJECT, demos) {
       
    45        SUBDIRS += demos
       
    46     } else:isEqual(PROJECT, tests) {
       
    47        SUBDIRS += tests
       
    48     } else:isEqual(PROJECT, libs) {
       
    49        include(src/src.pro)
       
    50     } else:isEqual(PROJECT, docs) {
       
    51        contains(QT_BUILD_PARTS, tools):include(doc/doc.pri)
       
    52     } else:isEqual(PROJECT, translations) {
       
    53        contains(QT_BUILD_PARTS, tools):include(translations/translations.pri)
       
    54     } else:isEqual(PROJECT, qmake) {
       
    55 #      SUBDIRS += qmake
       
    56     } else {
       
    57        message(Unknown PROJECT: $$PROJECT)
       
    58     }
       
    59 }
       
    60 
       
    61 !symbian: confclean.depends += clean
       
    62 confclean.commands =
       
    63 unix:!symbian {
       
    64   confclean.commands += (cd config.tests/unix/stl && $(MAKE) distclean); \
       
    65 			(cd config.tests/unix/endian && $(MAKE) distclean); \
       
    66 			(cd config.tests/unix/ipv6 && $(MAKE) distclean); \
       
    67 			(cd config.tests/unix/largefile && $(MAKE) distclean); \
       
    68 			(cd config.tests/unix/ptrsize && $(MAKE) distclean); \
       
    69 			(cd config.tests/x11/notype && $(MAKE) distclean); \
       
    70 			(cd config.tests/unix/getaddrinfo && $(MAKE) distclean); \
       
    71 			(cd config.tests/unix/cups && $(MAKE) distclean); \
       
    72 			(cd config.tests/unix/psql && $(MAKE) distclean); \
       
    73 			(cd config.tests/unix/mysql && $(MAKE) distclean); \
       
    74  	 		(cd config.tests/unix/mysql_r && $(MAKE) distclean); \
       
    75 			(cd config.tests/unix/nis && $(MAKE) distclean); \
       
    76 			(cd config.tests/unix/nix && $(MAKE) distclean); \
       
    77 			(cd config.tests/unix/iodbc && $(MAKE) distclean); \
       
    78 			(cd config.tests/unix/odbc && $(MAKE) distclean); \
       
    79 			(cd config.tests/unix/oci && $(MAKE) distclean); \
       
    80 			(cd config.tests/unix/tds && $(MAKE) distclean); \
       
    81 			(cd config.tests/unix/db2 && $(MAKE) distclean); \
       
    82 			(cd config.tests/unix/ibase && $(MAKE) distclean); \
       
    83 			(cd config.tests/unix/ipv6ifname && $(MAKE) distclean); \
       
    84 			(cd config.tests/unix/zlib && $(MAKE) distclean); \
       
    85 			(cd config.tests/unix/libmng && $(MAKE) distclean); \
       
    86 			(cd config.tests/unix/sqlite2 && $(MAKE) distclean); \
       
    87 			(cd config.tests/unix/libjpeg && $(MAKE) distclean); \
       
    88 			(cd config.tests/unix/libpng && $(MAKE) distclean); \
       
    89 			(cd config.tests/x11/xcursor && $(MAKE) distclean); \
       
    90 			(cd config.tests/x11/xrender && $(MAKE) distclean); \
       
    91 			(cd config.tests/x11/xrandr && $(MAKE) distclean); \
       
    92 			(cd config.tests/x11/xkb && $(MAKE) distclean); \
       
    93 			(cd config.tests/x11/xinput && $(MAKE) distclean); \
       
    94 			(cd config.tests/x11/fontconfig && $(MAKE) distclean); \
       
    95 			(cd config.tests/x11/xinerama && $(MAKE) distclean); \
       
    96 			(cd config.tests/x11/sm && $(MAKE) distclean); \
       
    97 			(cd config.tests/x11/xshape && $(MAKE) distclean); \
       
    98 			(cd config.tests/x11/opengl && $(MAKE) distclean); \
       
    99                         $(DEL_FILE) config.tests/.qmake.cache; \
       
   100 			$(DEL_FILE) src/core/global/qconfig.h; \
       
   101 			$(DEL_FILE) src/core/global/qconfig.cpp; \
       
   102 			$(DEL_FILE) mkspecs/qconfig.pri; \
       
   103 			$(DEL_FILE) .qmake.cache; \
       
   104  			(cd qmake && $(MAKE) distclean);
       
   105 }
       
   106 win32 {
       
   107   confclean.commands += -$(DEL_FILE) src\core\global\qconfig.h $$escape_expand(\n\t) \
       
   108 			-$(DEL_FILE) src\core\global\qconfig.cpp $$escape_expand(\n\t) \
       
   109 			-$(DEL_FILE) mkspecs\qconfig.pri $$escape_expand(\n\t) \
       
   110 			-$(DEL_FILE) .qmake.cache $$escape_expand(\n\t) \
       
   111 			(cd qmake && $(MAKE) distclean)
       
   112 }
       
   113 symbian {
       
   114   confclean.depends += distclean
       
   115   confclean.commands += \
       
   116             (cd src\tools\moc && $(MAKE) distclean) $$escape_expand(\n\t) \
       
   117             (cd src\tools\rcc && $(MAKE) distclean) $$escape_expand(\n\t) \
       
   118             (cd src\tools\uic && $(MAKE) distclean) $$escape_expand(\n\t) \
       
   119             -$(DEL_FILE) src\corelib\global\qconfig.h $$escape_expand(\n\t) \
       
   120             -$(DEL_FILE) src\corelib\global\qconfig.cpp $$escape_expand(\n\t) \
       
   121             -$(DEL_FILE) mkspecs\qconfig.pri $$escape_expand(\n\t) \
       
   122             -$(DEL_FILE) .qmake.cache $$escape_expand(\n\t) \
       
   123             (cd qmake && $(MAKE) distclean)
       
   124             
       
   125 }
       
   126 QMAKE_EXTRA_TARGETS += confclean
       
   127 qmakeclean.commands += (cd qmake && $(MAKE) clean)
       
   128 QMAKE_EXTRA_TARGETS += qmakeclean
       
   129 CLEAN_DEPS += qmakeclean
       
   130 
       
   131 CONFIG -= qt
       
   132 
       
   133 ### installations ####
       
   134 
       
   135 #translations
       
   136 translations.path=$$[QT_INSTALL_TRANSLATIONS]
       
   137 translations.files = $$QT_SOURCE_TREE/translations/*.qm
       
   138 INSTALLS += translations
       
   139 
       
   140 #qmake
       
   141 qmake.path=$$[QT_INSTALL_BINS]
       
   142 win32 {
       
   143    qmake.files=$$QT_BUILD_TREE/bin/qmake.exe
       
   144 } else {
       
   145    qmake.files=$$QT_BUILD_TREE/bin/qmake
       
   146 }
       
   147 INSTALLS += qmake
       
   148 
       
   149 #mkspecs
       
   150 mkspecs.path=$$[QT_INSTALL_DATA]/mkspecs
       
   151 mkspecs.files=$$QT_BUILD_TREE/mkspecs/qconfig.pri $$QT_SOURCE_TREE/mkspecs/*
       
   152 unix { 
       
   153    DEFAULT_QMAKESPEC = $$QMAKESPEC
       
   154    DEFAULT_QMAKESPEC ~= s,^.*mkspecs/,,g
       
   155    mkspecs.commands += $(DEL_FILE) $(INSTALL_ROOT)$$mkspecs.path/default; $(SYMLINK) $$DEFAULT_QMAKESPEC $(INSTALL_ROOT)$$mkspecs.path/default
       
   156 }
       
   157 INSTALLS += mkspecs
       
   158 
       
   159 false:macx { #mac install location
       
   160     macdocs.files = $$htmldocs.files
       
   161     macdocs.path = /Developer/Documentation/Qt
       
   162     INSTALLS += macdocs
       
   163 }
       
   164