Details
-
Bug
-
Resolution: Duplicate
-
P3: Somewhat important
-
0.3
-
None
-
64bit Linux, qbs from git master, built against Qt 4.8.4
Description
Consider having module Foo inside /module/search/path/Foo/Foo.qbs
The following:
Product{
moduleSearchPaths: "/module/search/path"
Depends
}
works fine on windows but not on linux. If the module is relocated to
/module/search/path/foo/Foo.qbs
it works fine on Linux, too. (E.g. via ln -s /module/search/path/Foo /module/search/path/foo)
This is counter-intuitive, since the dependency is explicitly mentioned as "Foo", not as "foo". Also the documentation does not mention anything about case sensitivity.
The attached patch introduces the method
QStringList ModuleLoader::moduleSubDirs(const QString &path, const QStringList &moduleName)
which returns all candidate subdirectories inside path that need to be considered for looking up "moduleName". The lookup is done case-insensitive inside path, so both path/Foo and path/foo are chosen for the module "foo".
I've also tested the patch for the case of submodules, i.e. "Foo.Bar" are correctly found in Foo/Bar.
Cheers,
Thomas
Attachments
Issue Links
- resulted in
-
QBS-254 qbs should be fully case sensitive
- Closed