summaryrefslogtreecommitdiffstats
path: root/tools/qmake/mkspecs
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2016-10-21 19:14:16 +0200
committerMichal Klocek <michal.klocek@qt.io>2016-12-08 13:56:12 +0000
commit0c6c48da2ad5c60f5404636290eb82f492c2a1a8 (patch)
tree219a3d6ac11ce07cf3873181fc0b4dd285b52970 /tools/qmake/mkspecs
parent72242c614378a43c4563c05678d8e46d6fcbaa8d (diff)
Add gn bootstrap to build system
Bootstraps gn wihout rebuild. Change-Id: I09ee4d6b6f458f16f0d9ac18433823153ab75995 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'tools/qmake/mkspecs')
-rw-r--r--tools/qmake/mkspecs/features/functions.prf19
1 files changed, 19 insertions, 0 deletions
diff --git a/tools/qmake/mkspecs/features/functions.prf b/tools/qmake/mkspecs/features/functions.prf
index 8191f7589..22ce695de 100644
--- a/tools/qmake/mkspecs/features/functions.prf
+++ b/tools/qmake/mkspecs/features/functions.prf
@@ -386,6 +386,25 @@ defineReplace(buildNinja) {
}
}
+defineReplace(gnPath) {
+ src_3rd_party_dir = $$absolute_path("$${getChromiumSrcDir()}/../", "$$QTWEBENGINE_ROOT")
+ out = $$shadowed($$absolute_path(chromium/tools/gn/gn, $$src_3rd_party_dir))
+ win32: out = $${out}.exe
+ return($$out)
+}
+
+defineReplace(buildGn) {
+ out = $$gnPath()
+ !qtConfig(system-ninja): ninja_path = "--path $$ninjaPath()"
+ # check if it is not already build
+ !exists($$out) {
+ mkpath($$dirname(out))
+ src_3rd_party_dir = $$absolute_path("$${getChromiumSrcDir()}/../", "$$QTWEBENGINE_ROOT")
+ gn_configure = $$system_path($$absolute_path(chromium/tools/gn/bootstrap/bootstrap.py, $$src_3rd_party_dir))
+ system("cd $$system_quote($$system_path($$dirname(out))) && python $$system_quote($$gn_configure) --no-rebuild $$ninja_path")
+ }
+}
+
defineTest(skipBuild) {
skipBuildReason = "$$skipBuildReason $${EOL}$$1"
export(skipBuildReason)