That was a holy grail! Thanks, you are awesome.
2015-01-07 15:42 GMT+08:00 Dmitry Volosnykh <dmitry.volosn...@gmail.com>: > 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 >> >> > -- -- 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