On 05/15/2014 11:44 AM, Tim Hutt wrote: > Well I guess it is fairly special - I'm compiling stuff for a > microcontroller using gcc for arm embedded. It needs specific flags and > linker scripts and so on.
See http://qt-project.org/doc/qbs-1.2/cpp-module.html for information on the cpp module. > Is there any documentation on profiles? For the command line, see the "qbs setup-toolchains" command. It comes with a "--help" option that should tell you everything you need to know. > The only thing I could find was on listing them with the qbs binary which I > don't have (since I'm using Qt Creator). Qt Creator will automatically create a qbs profile from your Kit. Additional properties can be set in Qt Creator's build step (or in your project files). > If I made a profile would I be > able to make it automatically find the arm gcc, and could I distribute > it with my code easily? The profile does not "find" anything, it *knows* where the toolchain is because it was given that information when it was created. It makes no sense to distribute this information as the location of the toolchain is dependent on the host system. Christian > > Thanks for the info Denis! > > > On 15 May 2014 10:33, Christian Kandeler <christian.kande...@digia.com > <mailto:christian.kande...@digia.com>> wrote: > > On 05/15/2014 10:30 AM, Tim Hutt wrote: > > I have a QBS script that depends on using the GNU Arm toolchain, > and I > > want it to automatically find them (on Windows for now). > > Are you sure that's really what you want? Toolchain information > typically comes from the "outside" via a profile, and then it just works > automatically and its properties are available via the cpp module. > Unless you use your toolchain in a very "special" way (i.e. not to > compile your sources), then your current approach is probably wrong. > > > Christian > > > In my QBS I > > have this line: > > > > property string gnuToolsDir: "C:/Program Files/GNU > Tools ARM Embedded/4.8 2014q1" > > > > > > And then I use that elsewhere. I want to set it to be a function, > like this: > > > > function findGnuToolsDir() > > > > { > > > > // TODO: Fancy searching function. > > > > return "C:/Program Files/GNU Tools ARM > Embedded/4.8 2014q1"; > > > > } > > > > > > > > property string gnuToolsDir: findGnuToolsDir(); > > > > > > But that doesn't work (says it can't find the > function).Additionally, I can't seem to access the property in my > Rules - it says the variable doesn't exist. > > > > > > > > Rule { > > > > // ... > > > > > > > > prepare: { > > > > > > // None of these work: > > > > > > > > var objCopyPath = gnuToolsDir + > "/bin/arm-none-eabi-objcopy.exe"; > > > > > > > > var objCopyPath = parent.gnuToolsDir + > "/bin/arm-none-eabi-objcopy.exe"; > > > > > > > > var objCopyPath = product.gnuToolsDir + > "/bin/arm-none-eabi-objcopy.exe"; > > > > > > > > > > // ... > > > > > > > > } > > > > } > > > > > > > > > > Any ideas? I've seen the Probe item but it doesn't seem suitable > - as far as I can tell it just determines the existence of a library > or tool rather than its location. > > > > > > Cheers, > > > > > > Tim > > > > > > > > _______________________________________________ > > QBS mailing list > > QBS@qt-project.org <mailto:QBS@qt-project.org> > > http://lists.qt-project.org/mailman/listinfo/qbs > > > > _______________________________________________ > QBS mailing list > QBS@qt-project.org <mailto:QBS@qt-project.org> > http://lists.qt-project.org/mailman/listinfo/qbs > > > > > _______________________________________________ > QBS mailing list > QBS@qt-project.org > http://lists.qt-project.org/mailman/listinfo/qbs > _______________________________________________ QBS mailing list QBS@qt-project.org http://lists.qt-project.org/mailman/listinfo/qbs