File: use_all_in_one_files.prf

package info (click to toggle)
qtwebkit-opensource-src 5.7.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 291,692 kB
  • ctags: 268,122
  • sloc: cpp: 1,360,420; python: 70,286; ansic: 42,986; perl: 35,476; ruby: 12,236; objc: 9,465; xml: 8,396; asm: 3,873; yacc: 2,397; sh: 1,647; makefile: 650; lex: 644; java: 110
file content (28 lines) | stat: -rw-r--r-- 1,083 bytes parent folder | download | duplicates (6)
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
}