summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/features/testcase.prf56
1 files changed, 30 insertions, 26 deletions
diff --git a/mkspecs/features/testcase.prf b/mkspecs/features/testcase.prf
index c07688231a..f76018a6e4 100644
--- a/mkspecs/features/testcase.prf
+++ b/mkspecs/features/testcase.prf
@@ -76,7 +76,7 @@ QMAKE_EXTRA_TARGETS *= check
}
contains(INSTALLS, target) {
- # Install testdata as well, but only if we're actually installing the test.
+ # Install testdata and helpers as well, but only if we're actually installing the test.
#
# Testdata is installed relative to the directory containing the testcase
# binary itself, e.g. this:
@@ -123,32 +123,36 @@ contains(INSTALLS, target) {
INSTALLS += $$tdi
}
-}
-
-} # have_target
-defineTest(installTestHelperApp) {
- # args: relativeSource, relativeDestination, targetName
- # description: install executables from other project directories as part of your installation.
- # relativeSource - file to install including relative path
- # relativeDestination - relative directory to install to
- # targetName - executable without extension
- targetName = $$replace(3, ' ', '_') # handle spaces in name
- subTarget = $${targetName}.target
- subInstall = $${targetName}_install
- subConfig = $${subInstall}.CONFIG
- subFiles = $${subInstall}.files
- subPath = $${subInstall}.path
+ # TEST_HELPER_INSTALLS specifies additional test helper executables for installation.
+ #
+ # Typical usage is:
+ #
+ # TEST_HELPER_INSTALLS += ../some/helper1 ../some/helper2
+ #
+ # Resulting in the test helpers being installed to:
+ #
+ # $$[QT_INSTALL_TESTS]/$$TARGET/some/helper1
+ # $$[QT_INSTALL_TESTS]/$$TARGET/some/helper2
+ #
win32: extension = .exe
- $$subTarget = $${2}/$${3}$${extension}
- $$subFiles = $${OUT_PWD}/$${1}$${extension}
- $$subPath = $${target.path}/$${2}
- $$subConfig += no_check_exist executable
- INSTALLS += $${subInstall}
- export(INSTALLS)
- export($$subTarget)
- export($$subFiles)
- export($$subPath)
- export($$subConfig)
+ for(test_helper, TEST_HELPER_INSTALLS) {
+ test_helper_dir = $$dirname(test_helper)
+ output = $$basename(test_helper_dir)
+ target = $$basename(test_helper)
+ targetName = $$replace(target, ' ', '_') # handle spaces in name
+ subTarget = $${targetName}.target
+ subInstall = $${targetName}_install
+ subConfig = $${subInstall}.CONFIG
+ subFiles = $${subInstall}.files
+ subPath = $${subInstall}.path
+ $$subTarget = $${output}/$${target}$${extension}
+ $$subFiles = $${OUT_PWD}/$${test_helper}$${extension}
+ $$subPath = $${target.path}/$${output}
+ $$subConfig += no_check_exist executable
+ INSTALLS += $${subInstall}
+ }
}
+} # have_target
+