[QBS] Functions in QBS scripts and accessing properties from them.

Tim Hutt tdhutt at gmail.com
Thu May 15 10:30:02 CEST 2014


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). In my QBS I have this

	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.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/qbs/attachments/20140515/2105dff1/attachment.html>

More information about the Qbs mailing list