!contains(TEMPLATE,subdirs) { check.files = check.path = . # If the test ends up in a different directory, we should cd to that directory. # Note that qmake modifies DESTDIR after this file is processed, # therefore, testing DESTDIR for emptiness is not sufficient. # Also note that in debug-and-release mode we don't want to cd into the debug/release # directory (e.g. if the test goes to foo/release/tst_thing.exe, we want to do # cd foo && release/tst_thing.exe ). MUNGED_DESTDIR=$$DESTDIR MUNGED_TARGET=$$TARGET win32:debug_and_release { contains(DESTDIR,^release$)|contains(DESTDIR,^debug$):MUNGED_DESTDIR= # In debug-and-release mode, the first ../ in TARGET breaks out of the debug/release # subdirectory. However, since make's working directory is already outside of the # debug/release subdirectory, this first ../ should be ignored when deciding if # we have to change directory before running the test. MUNGED_TARGET=$$replace(MUNGED_TARGET,^\\.\\./,) } !isEmpty(MUNGED_DESTDIR):!contains(MUNGED_DESTDIR,^\\./?):check.commands = cd $(DESTDIR) && contains(MUNGED_TARGET,.*/.*):check.commands = cd $(DESTDIR) && # Allow for a custom test runner script check.commands += $(TESTRUNNER) macx { app_bundle: check.commands += ./$(QMAKE_TARGET).app/Contents/MacOS/$(QMAKE_TARGET) else: check.commands += ./$(QMAKE_TARGET) } else:unix: check.commands += ./$(QMAKE_TARGET) else: check.commands += $(DESTDIR_TARGET) # For Qt/Embedded, run every test app as a QWS server embedded: check.commands += -qws # Allow for custom arguments to tests check.commands += $(TESTARGS) QMAKE_EXTRA_TARGETS *= check !debug_and_release|build_pass { check.depends = first } else { check.CONFIG = recursive # In debug and release mode, only run the test once. # Run debug if available, release otherwise. debug_and_release { check.target = dummy_check check.recurse_target = check debug { real_check.depends = debug-check real_check.target = check QMAKE_EXTRA_TARGETS += real_check } else { real_check.depends = release-check real_check.target = check QMAKE_EXTRA_TARGETS += real_check } } } }