Make it possible to disable the 'check' target
authorBradley T. Hughes <bradley.hughes@nokia.com>
Mon, 14 Nov 2011 13:38:38 +0000 (14:38 +0100)
committerQt by Nokia <qt-info@nokia.com>
Wed, 16 Nov 2011 09:32:10 +0000 (10:32 +0100)
If subdir.CONFIG contains no_check_target, we do not recurse into
that subdir when generating the 'check' target.

This will be used to selectively disable crashing tests on Mac OS X.
Currently, all autotests are disabled on Mac OS X. The goal is to re-
enable them, but not all at once.  This approach allows us to get each
change through the CI system individually.

The first step is get all tests to build, but not run, then we will
re-enable the tests for each module, possibly disabling individual
tests at the same time.

Change-Id: I69f62c238f381ae0315d414cd71d76bc88b088dd
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
mkspecs/features/default_post.prf

index 44f4b4f..874b4bf 100644 (file)
@@ -44,16 +44,18 @@ QMAKE_LIBDIR += $$QMAKE_LIBDIR_POST
 # Let every project have a standard GNU `check' target
 !contains(QMAKE_EXTRA_TARGETS, check) {
     # `make check' should iterate through all subdirs
-    # (except those with no_default_target)
+    # (except those with no_default_target or no_check_target)
     contains(TEMPLATE, subdirs) {
-        check.CONFIG = recursive
-        check.recurse_target = check
-
         for(subdir, SUBDIRS) {
             subdir_config=$$eval($${subdir}.CONFIG)
-            !contains(subdir_config, no_default_target):check.recurse += $$subdir
+            !contains(subdir_config, no_check_target):!contains(subdir_config, no_default_target):check.recurse += $$subdir
             unset(subdir_config)
         }
+        !isEmpty(check.recurse) {
+            # setup the recurse target only when there is to recurse into
+            check.CONFIG = recursive
+            check.recurse_target = check
+        }
     }
     # `make check' should imply building the project
     else {