summaryrefslogtreecommitdiffstats
path: root/src/core/gn_run.pro
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2017-02-03 16:13:50 +0100
committerMichal Klocek <michal.klocek@qt.io>2017-02-06 19:32:46 +0000
commitabaede7601ea7426242dc29deb964ab3dd543c0a (patch)
treef90e83c63f80c8ce58c5c75d0a52d3518e53477c /src/core/gn_run.pro
parent79ad6bad373bb5151ba7c3410609a9fee009be58 (diff)
Refactor release and debug handling
Fix release and debug builds. Refactor ninja and gn builds as a sub projects, these are only build as release. Call core_generator and gn_run separately for debug and release builds. Change-Id: I638023214cdc98a5101d190486452cc4a1229486 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/core/gn_run.pro')
-rw-r--r--src/core/gn_run.pro26
1 files changed, 7 insertions, 19 deletions
diff --git a/src/core/gn_run.pro b/src/core/gn_run.pro
index 534f0c7b3..ec91b469d 100644
--- a/src/core/gn_run.pro
+++ b/src/core/gn_run.pro
@@ -5,11 +5,9 @@ isQtMinimum(5, 8) {
TEMPLATE = aux
-build_pass|!debug_and_release {
+qtConfig(debug_and_release): CONFIG += debug_and_release build_all
- macos: include(config/mac_osx.pri)
- linux: include(config/desktop_linux.pri)
- isEmpty(gn_args): error(No gn_args found please make sure you have valid configuration.)
+build_pass|!debug_and_release {
ninja_binary = ninja
gn_binary = gn
@@ -17,13 +15,7 @@ build_pass|!debug_and_release {
runninja.target = run_ninja
rungn.target = run_gn
- !qtConfig(system-ninja) {
- ninja_binary = $$shell_quote($$shell_path($$ninjaPath()))
- buildninja.target = build_ninja
- buildninja.commands = $$buildNinja()
- QMAKE_EXTRA_TARGETS += buildninja
- runninja.depends = buildninja
- }
+ gn_args = $$gnArgs()
CONFIG(release, debug|release):
gn_args += is_debug=false
@@ -32,13 +24,10 @@ build_pass|!debug_and_release {
!qtConfig(system-gn) {
gn_binary = $$shell_quote($$shell_path($$gnPath()))
- buildgn.target = build_gn
- buildgn.commands = $$buildGn($$gn_args)
- !qtConfig(system-ninja) {
- buildgn.depends = buildninja
- rungn.depends = buildninja
- }
- QMAKE_EXTRA_TARGETS += buildgn
+ }
+
+ !qtConfig(system-ninja) {
+ ninja_binary = $$shell_quote($$shell_path($$ninjaPath()))
}
gn_args = $$shell_quote($$gn_args)
@@ -54,7 +43,6 @@ build_pass|!debug_and_release {
build_pass:build_all: default_target.target = all
else: default_target.target = first
default_target.depends = runninja
-
QMAKE_EXTRA_TARGETS += default_target
} else {
# Special GNU make target for the meta Makefile that ensures that our debug and release Makefiles won't both run ninja in parallel.