Do the following in your lib's Product item: Export { cpp.includePaths: "." }
Besides, consider reading Export item's documentation for more info on exporting. On Wed, Jan 7, 2015 at 10:34 AM, Andrey Anpilogov <anpi...@gmail.com> wrote: > Thanks for advise, Dmitry. > > I've tried and id doesn't work. > Same problem... > I simplified test case. So now it's just qbs/examples/app-and-lib with one > extra header file. > > ---------------------------------- > anpilog@Andriis-MacBook-Pro.local:~/git/cmake/test > ➜ qbs profile:gcc > Restoring build graph from disk > Building for configuration gcc-debug > compiling main.cpp > ERROR: /usr/bin/g++ -m64 -g -Wall -Wextra -pipe -fvisibility=default -fPIC > -c /Users/anpilog/git/cmake/test/app/main.cpp -o > /Users/anpilog/git/cmake/test/gcc-debug/app-and-lib-app.gcc/.obj/main.cpp.o > /Users/anpilog/git/cmake/test/app/main.cpp:2:10: fatal error: 'lib.h' file > not found > #include "lib.h" > ^ > 1 error generated. > ERROR: Process failed with exit code 1. > The following products could not be built for configuration gcc-debug: > app-and-lib-app > ---------------------------------- > > Include folders from lib/lib.qbs are not passed to app/app.qbs. > > Besides I would expect some configurable way what headers to share from > product... > > It's still confusing me a lot. > > > 2015-01-07 15:19 GMT+08:00 Dmitry Volosnykh <dmitry.volosn...@gmail.com>: > >> Andrey, I would suggest you to extract your "project" to a separate .qbs >> file. So that your top-level qbs looks like below: >> >> import qbs >> >> Project { >> references: [ >> "app/app.qbs", >> "lib/lib.qbs" >> ] >> } >> >> Then in the app.qbs do: >> >> Depends { name: "lib" } >> >> Such setup works for me. >> >> PS. Don't know if mixing references with direct Product declarations is >> good to go... Documentation says nothing about it. >> >> On Wed, Jan 7, 2015 at 9:59 AM, Andrey Anpilogov <anpi...@gmail.com> >> wrote: >> >>> Hi, >>> >>> I'm investigating qbs as possible replacement to Makefiles in my project. >>> And it looks good except one thing: how to add include path from product >>> to product? >>> >>> Let's take an example: >>> >>> project.qbs >>> --------------------------------------------- >>> import qbs 1.0 >>> >>> Project { >>> references: [ >>> "lib/build.qbs" >>> ] >>> >>> Product { >>> name: "project" >>> type: "application" >>> files: "main.cpp" >>> Depends { name: "lib" } >>> Depends { name: "cpp" } >>> } >>> } >>> --------------------------------------------- >>> >>> lib/build.qbs >>> --------------------------------------------- >>> import qbs 1.0 >>> >>> Product { >>> name: "lib" >>> type: "staticlibrary" >>> >>> files: ["file1.cpp", "file2.cpp"] >>> cpp.includePaths: ["api", "ppi", "xdi"] >>> cpp.defines: ["xxx", "zzz"] >>> cpp.cxxFlags: ["xxx", "zzz"] >>> cpp.cFlags: ["xxx", "zzz"] >>> cpp.commonCompilerFlags: ["-Os", "-gdwarf-2", "-Wall"] >>> cpp.linkerScripts: "xxx" >>> Depends { name: "cpp" } >>> } >>> --------------------------------------------- >>> >>> It's quite similar to qbs/examples/app-and-lib example. >>> The problem is that project/main.cpp can't include headers from 'lib' >>> folder due to qbs doesn't add any include path from product:lib. >>> I've looked over docs and cpp profile and could not find anything better >>> then manually add includes into application product: >>> >>> --------------------------------------------- >>> import qbs 1.0 >>> Project { >>> references: [ "lib/build.qbs" ] >>> >>> Product { >>> name: "project" >>> type: "application" >>> //... >>> cpp.includePaths: "lib" >>> } >>> } >>> --------------------------------------------- >>> >>> And it looks quite strange to me. If I add reference and make product >>> depended from other product I would expect I can pass not only static >>> libraries to dependant product but also headers path... >>> >>> Or there is some other approach? >>> >>> Regards. >>> >>> _______________________________________________ >>> QBS mailing list >>> QBS@qt-project.org >>> http://lists.qt-project.org/mailman/listinfo/qbs >>> >>> >> > > > -- > -- > WBR, > Andrii Anpilogov > Phone: +86 186-1660-3720 > Skype: anpilogov.andrey > mailto:anpi...@gmail.com, andrii.anpilo...@mesheven.com > >
_______________________________________________ QBS mailing list QBS@qt-project.org http://lists.qt-project.org/mailman/listinfo/qbs