1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
# -------------------------------------------------------------------
# This feature enables the use of AllInOne.cpp files by adding them
# to SOURCES and removing the sources the corresponding files include
# from SOURCES, to avoid duplicated compilation units.
#
# See 'Tools/qmake/README' for an overview of the build system
# -------------------------------------------------------------------
# Globbing all does not work yet, not all AllInOne files build reliably yet.
# So instead we select them manually.
#collection = $$files($$_PRO_FILE_PWD_/*AllInOne.cpp, true)
collection = $$ALL_IN_ONE_SOURCES
for(collectionFile, collection) {
lines = $$cat($$_PRO_FILE_PWD_/$$collectionFile, lines)
for(line, lines) {
line = $$find(line, "^.+include \"(.*)\"")
isEmpty(line): next()
line ~= s/^.+include \"(.*)\"/\\1/
source = $$dirname(collectionFile)/$$line
contains(SOURCES, $$source) {
SOURCES -= $$source
tookFromSources = true
}
}
!isEmpty(tookFromSources): SOURCES *= $$collectionFile
}
|