Details
-
Suggestion
-
Resolution: Unresolved
-
Not Evaluated
-
None
-
2.1.0, 2.1.2
-
None
Description
"A module can depend on other modules. For example, the Qt.core module depends on the cpp module. The module dependencies are transitive, i.e. in a Product, all dependent modules are accessible:"
But here in acpp.qbs:
// Depends { name: "cpp" } Depends { name: "cxx" }
cxx module depends on cpp and setting several properties of c++ runtime. So I should have "cpp" module available after that point, right?
No.
In Qt Creator I get:
warning: Item 'cpp' is not declared. Did you forget to add a Depends item?
and here:
// Depends { name: "cpp" } Depends { name: "cxx" } cxx.lto_off: false cpp.defines: { var defines=["ACPP_IN_USE"] for(var ext_indice=0;ext_indice<enabled_extensions.length;ext_indice++) { var ext=enabled_extensions[ext_indice] defines.push(ext+"_AVAILABLE") console.info(ext+" is enabled.") } return defines; }
the block that is setting "cpp.defines" is not triggered.
Project structure is;
project.qbs (Project) -> server.qbs (Application) -> acpp.qbs (Module) -> cxx.qbs (Module)
server.qbs:
Depends { name: "acpp"} cxx.lto_off: true acpp.enabled_extensions: ["MAGIC_ENUM","JSON","SIG_SLOT","RAPIDFUZZ_CPP","INDICATORS","UTF8CPP","QT"] cxx.cxx_standard: "c++23"