Fixed ordering problem when configuring with `-make <part>'

Prior to this change, running configure with the `-make' option would
affect the order in which parts of Qt are built.  This is unintuitive
and would easily cause build failures.  For example, configuring with
`./configure -make demos' would attempt to build demos before building
libs, which, of course, would fail.

Refactor the code so that the result is the same regardless of the order
of `-make' options.

Change-Id: Idfa61834a0f01d0628a9a1ae27ece94ae3647e6d
Reviewed-on: http://codereview.qt.nokia.com/128
Reviewed-by: Lincoln Ramsay <lincoln.ramsay@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
This commit is contained in:
Rohan McGovern 2011-05-26 09:19:38 +10:00 committed by Qt Continuous Integration System
parent 0ed16a1c55
commit c1e372a5a3

View File

@ -13,20 +13,30 @@ module_qtbase_tests.depends = module_qtbase_src
module_qtbase_tests.CONFIG = no_default_install
#process the projects
for(PROJECT, $$list($$lower($$unique(QT_BUILD_PARTS)))) {
isEqual(PROJECT, examples) {
SUBDIRS += examples
} else:isEqual(PROJECT, demos) {
SUBDIRS += demos
} else:isEqual(PROJECT, tests) {
SUBDIRS += module_qtbase_tests
} else:isEqual(PROJECT, libs) {
include(src/src.pro)
} else:isEqual(PROJECT, qmake) {
# SUBDIRS += qmake
} else {
message(Unknown PROJECT: $$PROJECT)
}
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, demos) {
PROJECTS -= demos
SUBDIRS += demos
}
contains(PROJECTS, tests) {
PROJECTS -= tests
SUBDIRS += module_qtbase_tests
}
!isEmpty(PROJECTS) {
message(Unknown PROJECTS: $$PROJECTS)
}
!symbian: confclean.depends += clean