summaryrefslogtreecommitdiff
path: root/tests/auto/blackbox/testdata-providers/module-providers
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/blackbox/testdata-providers/module-providers')
-rw-r--r--tests/auto/blackbox/testdata-providers/module-providers/main.cpp8
-rw-r--r--tests/auto/blackbox/testdata-providers/module-providers/module-providers.qbs35
-rw-r--r--tests/auto/blackbox/testdata-providers/module-providers/module-providers/mygenerator/provider.qbs31
-rw-r--r--tests/auto/blackbox/testdata-providers/module-providers/module-providers/othergenerator/provider.qbs19
4 files changed, 93 insertions, 0 deletions
diff --git a/tests/auto/blackbox/testdata-providers/module-providers/main.cpp b/tests/auto/blackbox/testdata-providers/module-providers/main.cpp
new file mode 100644
index 000000000..85a4f551c
--- /dev/null
+++ b/tests/auto/blackbox/testdata-providers/module-providers/main.cpp
@@ -0,0 +1,8 @@
+#include <iostream>
+
+int main()
+{
+ std::cout << "The letters are " << LETTER1 << " and " << LETTER2 << std::endl;
+ std::cout << "The MY_DEFINE is " << MY_DEFINE << std::endl;
+ return 0;
+}
diff --git a/tests/auto/blackbox/testdata-providers/module-providers/module-providers.qbs b/tests/auto/blackbox/testdata-providers/module-providers/module-providers.qbs
new file mode 100644
index 000000000..e83c80bb1
--- /dev/null
+++ b/tests/auto/blackbox/testdata-providers/module-providers/module-providers.qbs
@@ -0,0 +1,35 @@
+import qbs.Host
+
+Project {
+ property bool enabled: {
+ var result = qbs.targetPlatform === Host.platform();
+ if (!result)
+ console.info("targetPlatform differs from hostPlatform");
+ return result;
+ }
+ readonly property string beginning: "beginning"
+ CppApplication {
+ name: "app1"
+ Depends { name: "mygenerator.module1" }
+ Depends { name: "mygenerator.module2" }
+ Depends { name: "othergenerator" }
+ moduleProviders.mygenerator.chooseLettersFrom: project.beginning
+ moduleProviders.othergenerator.someDefines: name
+ files: "main.cpp"
+ }
+ CppApplication {
+ readonly property string end: "end"
+ name: "app2"
+ Depends { name: "mygenerator.module1" }
+ Depends { name: "mygenerator.module2" }
+ Depends { name: "othergenerator" }
+ Profile {
+ name: "myProfile"
+ baseProfile: project.profile
+ moduleProviders.mygenerator.chooseLettersFrom: product.end
+ moduleProviders.othergenerator.someDefines: "app2"
+ }
+ qbs.profile: "myProfile"
+ files: "main.cpp"
+ }
+}
diff --git a/tests/auto/blackbox/testdata-providers/module-providers/module-providers/mygenerator/provider.qbs b/tests/auto/blackbox/testdata-providers/module-providers/module-providers/mygenerator/provider.qbs
new file mode 100644
index 000000000..dae02c03a
--- /dev/null
+++ b/tests/auto/blackbox/testdata-providers/module-providers/module-providers/mygenerator/provider.qbs
@@ -0,0 +1,31 @@
+import qbs.File;
+import qbs.FileInfo;
+import qbs.TextFile;
+
+ModuleProvider {
+ property string chooseLettersFrom
+ relativeSearchPaths: {
+ console.info("Running setup script for " + name);
+ var startAtBeginning = chooseLettersFrom === "beginning";
+ var moduleBaseDir = FileInfo.joinPaths(outputBaseDir, "modules", "mygenerator");
+ var module1Dir = FileInfo.joinPaths(moduleBaseDir, "module1");
+ File.makePath(module1Dir);
+ var module1 = new TextFile(FileInfo.joinPaths(module1Dir, "module1.qbs"), TextFile.WriteOnly);
+ module1.writeLine("Module {");
+ module1.writeLine(" Depends { name: 'cpp' }");
+ module1.writeLine(" cpp.defines: 'LETTER1=" + (startAtBeginning ? "\\\'A\\\'" : "\\\'Z\\\'")
+ + "'");
+ module1.writeLine("}");
+ module1.close();
+ var module2Dir = FileInfo.joinPaths(moduleBaseDir, "module2");
+ File.makePath(module2Dir);
+ var module2 = new TextFile(FileInfo.joinPaths(module2Dir, "module2.qbs"), TextFile.WriteOnly);
+ module2.writeLine("Module {");
+ module2.writeLine(" Depends { name: 'cpp' }");
+ module2.writeLine(" cpp.defines: 'LETTER2=" + (startAtBeginning ? "\\\'B\\\'" : "\\\'Y\\\'")
+ + "'");
+ module2.writeLine("}");
+ module2.close();
+ return "";
+ }
+}
diff --git a/tests/auto/blackbox/testdata-providers/module-providers/module-providers/othergenerator/provider.qbs b/tests/auto/blackbox/testdata-providers/module-providers/module-providers/othergenerator/provider.qbs
new file mode 100644
index 000000000..66557037c
--- /dev/null
+++ b/tests/auto/blackbox/testdata-providers/module-providers/module-providers/othergenerator/provider.qbs
@@ -0,0 +1,19 @@
+import qbs.File;
+import qbs.FileInfo;
+import qbs.TextFile;
+
+ModuleProvider {
+ property string someDefines
+ relativeSearchPaths: {
+ console.info("Running setup script for " + name);
+ var moduleDir = FileInfo.joinPaths(outputBaseDir, "modules", "othergenerator");
+ File.makePath(moduleDir);
+ var module = new TextFile(FileInfo.joinPaths(moduleDir, "module.qbs"), TextFile.WriteOnly);
+ module.writeLine("Module {");
+ module.writeLine(" Depends { name: 'cpp' }");
+ module.writeLine(" cpp.defines: 'MY_DEFINE=\"" + someDefines + "\"'");
+ module.writeLine("}");
+ module.close();
+ return "";
+ }
+}