blob: 9072f2847f8129a20c244193cc0d8cb88e3492ab (
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
include($$QTWEBENGINE_OUT_ROOT/src/buildtools/qtbuildtools-config.pri)
include($$QTWEBENGINE_OUT_ROOT/src/core/qtwebenginecore-config.pri)
QT_FOR_CONFIG += buildtools-private webenginecore-private core-private gui-private
TEMPLATE = aux
qtConfig(debug_and_release): CONFIG += debug_and_release
qtConfig(build_all): CONFIG += build_all
qtConfig(webengine-system-ninja) {
QT_TOOL.ninja.binary = ninja
} else {
QT_TOOL.ninja.binary = $$shell_quote($$shell_path($$ninjaPath()))
}
win32 {
# Add the gnuwin32/bin subdir of qt5.git to PATH. Needed for calling bison and friends.
gnuwin32path.name = PATH
gnuwin32path.value = $$shell_path($$clean_path($$QTWEBENGINE_ROOT/../gnuwin32/bin))
gnuwin32path.CONFIG += prepend
exists($$gnuwin32path.value): QT_TOOL_ENV = gnuwin32path
}
qtPrepareTool(NINJA, ninja)
QT_TOOL_ENV =
build_pass|!debug_and_release {
gn_binary = gn
runninja.target = run_ninja
QMAKE_EXTRA_TARGETS += runninja
gn_args = $$gnWebEngineArgs()
!qtConfig(webengine-system-gn) {
gn_binary = $$system_quote($$system_path($$gnPath()))
}
gn_src_root = $$system_quote($$system_path($$QTWEBENGINE_ROOT/$$getChromiumSrcDir()))
gn_python = "--script-executable=$$pythonPathForSystem()"
ninjaflags = $$(NINJAFLAGS)
isEmpty(ninjaflags):!silent: ninjaflags = "-v"
build_pass:build_all: default_target.target = all
else: default_target.target = first
default_target.depends = runninja
QMAKE_EXTRA_TARGETS += default_target
isUniversal(){
for(arch, QT_ARCHS) {
gn_target = "qtwebengine_target=\"$$system_path($$OUT_PWD/$$arch/$$getConfigDir()):QtWebEngineCore\""
gn_args_per_arch = $$system_quote($$gn_args $$gn_target target_cpu=\"$$gnArch($$arch)\")
gn_build_root = $$system_quote($$system_path($$OUT_PWD/$$arch/$$getConfigDir()))
gn_run = $$gn_binary gen $$gn_build_root $$gn_python --args=$$gn_args_per_arch --root=$$gn_src_root
message("Running for $$arch: $$gn_run")
!system($$gn_run) {
error("GN run error for $$arch!")
}
runninja_$${arch}.target = run_ninja_$${arch}
runninja_$${arch}.commands = $$NINJA $$ninjaflags \$\(NINJAJOBS\) -C $$gn_build_root QtWebEngineCore
QMAKE_EXTRA_TARGETS += runninja_$${arch}
runninja.depends += runninja_$${arch}
}
} else {
gn_args+= "qtwebengine_target=\"$$system_path($$OUT_PWD/$$getConfigDir()):QtWebEngineCore\""
gn_args = $$system_quote($$gn_args)
gn_build_root = $$system_quote($$system_path($$OUT_PWD/$$getConfigDir()))
gn_run = $$gn_binary gen $$gn_build_root $$gn_python --args=$$gn_args --root=$$gn_src_root
message("Running: $$gn_run for $$arch")
!system($$gn_run) {
error("GN run error!")
}
runninja.commands = $$NINJA $$ninjaflags \$\(NINJAJOBS\) -C $$gn_build_root QtWebEngineCore
}
}
!build_pass:debug_and_release {
# Special GNU make target for the meta Makefile that ensures that our debug and release Makefiles won't both run ninja in parallel.
notParallel.target = .NOTPARALLEL
QMAKE_EXTRA_TARGETS += notParallel
}
build_pass:CONFIG(debug, debug|release) {
TARGET = gn_run_debug
}
|