source: trunk/projects.pro@ 555

Last change on this file since 555 was 513, checked in by Dmitry A. Kuminov, 15 years ago

qmake: Revert to a static build that doesn't depend on Qt DLLs to simplify the build process (other tools like moc.exe are static too so it makes even less sense to put the dependency on one of them).

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