From e45f1c6b3cc24679ea40c4868f71876246afe130 Mon Sep 17 00:00:00 2001 From: Ivan Komissarov Date: Fri, 8 May 2020 19:47:21 +0200 Subject: Fix ModuleLoader::moduleProviderConfig The function stopped too early in the ItemValueType branch which disallowed to set properties of the multiple module providers. Also, it modified the 'name' parameter resulting in the invalid map key. Change-Id: I549607cb3191134201634c60b72b782874f07556 Reviewed-by: Richard Weickelt Reviewed-by: Christian Kandeler --- .../auto/blackbox/testdata/module-providers/main.cpp | 2 ++ .../testdata/module-providers/module-providers.qbs | 4 ++++ .../module-providers/othergenerator/provider.qbs | 19 +++++++++++++++++++ 3 files changed, 25 insertions(+) create mode 100644 tests/auto/blackbox/testdata/module-providers/module-providers/othergenerator/provider.qbs (limited to 'tests/auto/blackbox/testdata') diff --git a/tests/auto/blackbox/testdata/module-providers/main.cpp b/tests/auto/blackbox/testdata/module-providers/main.cpp index 9cd29b1fe..85a4f551c 100644 --- a/tests/auto/blackbox/testdata/module-providers/main.cpp +++ b/tests/auto/blackbox/testdata/module-providers/main.cpp @@ -3,4 +3,6 @@ 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/module-providers/module-providers.qbs b/tests/auto/blackbox/testdata/module-providers/module-providers.qbs index c0f8baf0e..7dc1d4c36 100644 --- a/tests/auto/blackbox/testdata/module-providers/module-providers.qbs +++ b/tests/auto/blackbox/testdata/module-providers/module-providers.qbs @@ -4,7 +4,9 @@ Project { name: "app1" Depends { name: "mygenerator.module1" } Depends { name: "mygenerator.module2" } + Depends { name: "othergenerator" } moduleProviders.mygenerator.chooseLettersFrom: project.beginning + moduleProviders.othergenerator.someDefines: "app1" files: "main.cpp" } CppApplication { @@ -12,9 +14,11 @@ Project { name: "app2" Depends { name: "mygenerator.module1" } Depends { name: "mygenerator.module2" } + Depends { name: "othergenerator" } Profile { name: "myProfile" moduleProviders.mygenerator.chooseLettersFrom: product.end + moduleProviders.othergenerator.someDefines: "app2" } qbs.profile: "myProfile" files: "main.cpp" diff --git a/tests/auto/blackbox/testdata/module-providers/module-providers/othergenerator/provider.qbs b/tests/auto/blackbox/testdata/module-providers/module-providers/othergenerator/provider.qbs new file mode 100644 index 000000000..66557037c --- /dev/null +++ b/tests/auto/blackbox/testdata/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 ""; + } +} -- cgit v1.2.1