File: gn.pro

package info (click to toggle)
qtwebengine-opensource-src 5.15.19%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 2,115,536 kB
  • sloc: cpp: 13,170,444; ansic: 4,254,580; javascript: 1,917,440; python: 554,859; asm: 532,901; xml: 496,623; java: 151,702; objc: 80,776; perl: 73,361; sh: 71,244; cs: 30,383; makefile: 21,992; yacc: 9,125; tcl: 8,500; php: 5,896; sql: 5,518; pascal: 4,510; lex: 2,884; lisp: 2,727; ruby: 559; awk: 200; sed: 40
file content (42 lines) | stat: -rw-r--r-- 1,664 bytes parent folder | download | duplicates (5)
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
TEMPLATE = aux
option(host_build)

!debug_and_release: CONFIG += release

include($$QTWEBENGINE_OUT_ROOT/src/buildtools/qtbuildtools-config.pri)
QT_FOR_CONFIG += buildtools-private

build_pass|!debug_and_release {
    !qtConfig(webengine-system-gn): CONFIG(release, debug|release) {
        buildgn.target = build_gn
        out = $$gnPath()
        out_path = $$dirname(out)
        !qtConfig(webengine-system-ninja): ninja_path = $$ninjaPath()
        else: ninja_path="ninja"
        # check if it is not already build
        !exists($$out) {
            src_3rd_party_dir = $$absolute_path("$${getChromiumSrcDir()}/../", "$$QTWEBENGINE_ROOT")
            gn_bootstrap = $$system_path($$absolute_path(gn/build/gen.py, $$src_3rd_party_dir))

            gn_gen_args = --no-last-commit-position --out-path $$out_path \
                          --cc \"$$which($$QMAKE_CC)\" --cxx \"$$which($$QMAKE_CXX)\" \
                          --ld \"$$which($$QMAKE_LINK)\"
            !isEmpty(QMAKE_AR): gn_gen_args += --ar \"$$which($$first(QMAKE_AR))\"

            msvc:!clang_cl: gn_gen_args += --use-lto

            gn_configure = $$system_quote($$gn_bootstrap) $$gn_gen_args
            macos {
                gn_configure += --isysroot \"$$QMAKE_MAC_SDK_PATH\"
            }
            message($$gn_configure)
            !system("$$pythonPathForSystem() $$gn_configure") {
                error("GN generation error!")
            }
            !system("cd $$system_quote($$system_path($$out_path)) && $$ninja_path -v $$(NINJAJOBS) $$basename(out)" ) {
                error("GN build error!")
            }
        }
        QMAKE_DISTCLEAN += $$out
    }
}