blob: e16dcfc5aad826ee10a58ad99439273591bfda76 [file] [log] [blame]
# -------------------------------------------------------------------
# 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
}