summaryrefslogtreecommitdiffstats
path: root/build/build.pro
blob: 9f955a16e7d357eabbaf184138e3f463ba813e8f (plain)
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
43
44
45
46
47
48
49
50
# This .pro file serves a dual purpose:
# 1) invoking gyp through the gyp_qtwebengine script, which in turn makes use of the generated gypi include files
# 2) produce a Makefile that will run ninja, and take care of actually building everything.

TEMPLATE = aux

GYP_ARGS = "-D qt_cross_compile=0"
cross_compile {
    GYP_ARGS = "-D qt_cross_compile=1 -D os_posix=1"
    TOOLCHAIN_SYSROOT = $$[QT_SYSROOT]
    !isEmpty(TOOLCHAIN_SYSROOT): GYP_ARGS += "-D sysroot=\"$${TOOLCHAIN_SYSROOT}\""

    contains(QT_ARCH, "arm") {
        # Extract ARM specific compiler options that we have to pass to gyp
        MARCH = $$extractCFlag("-march=.*")
        MFPU = $$extractCFlag("-mfpu=.*")
        MTUNE = $$extractCFlag("-mtune=.*")
        MFLOAT = $$extractCFlag("-mfloat-abi=.*")
        MARMV = $$replace(MARCH, "armv",)
        MARMV = $$split(MARMV,)
        MARMV = $$member(MARMV, 0)
        MTHUMB = 0
        contains(QMAKE_CFLAGS, "-mthumb"): MTHUMB = 1
        NEON = 0
        contains(MFPU, "neon"): NEON = 1

        GYP_ARGS += "-D target_arch=arm -D arm_version=\"$$MARMV\" -D arm_arch=\"$$MARCH\"" \
                    "-D arm_tune=\"$$MTUNE\" -D arm_fpu=\"$$MFPU\" -D arm_float_abi=\"$$MFLOAT\"" \
                    "-D arm_thumb=\"$$MTHUMB\" -D arm_neon=\"$$NEON\""
    }

    # Needed for v8, see chromium/v8/build/toolchain.gypi
    GYP_ARGS += "-D CXX=\"$$which($$QMAKE_CXX)\""
}

!build_pass {
  message(Running gyp_qtwebengine $${GYP_ARGS}...)
  !system("python ./gyp_qtwebengine $${GYP_ARGS}"): error("-- running gyp_qtwebengine failed --")
}

ninja.target = invoke_ninja
ninja.commands = $$findOrBuildNinja() $$(NINJAFLAGS) -C $$getOutDir()/$$getConfigDir()
ninja.depends: qmake
QMAKE_EXTRA_TARGETS += ninja

build_pass:build_all:default_target.target = all
else: default_target.target = first
default_target.depends = ninja

QMAKE_EXTRA_TARGETS += default_target