[Development] New configuration system docs and FBX issues

Sean Harmer sean.harmer at kdab.com
Tue May 2 17:38:47 CEST 2017


Hi,

On 01/05/2017 07:17, Sean Harmer wrote:
> Hi,
>
> is there any documentation for the new configuration system please?
>
> My specific issue is that I need a config test that uses different
> library names on each platform and I can't see how to achieve this. On
> windows I want the FBX config test in Qt 3D to link against the static
> FBX library libfbxsdk-md.lib whereas on linux it would be
> libfbxsdk-static.a and on macOS libfbxsdk.a.
>
> An additional complication is that if we're building in debug and
> release build, the FBX SDK has the libs for these in different
> directories so we can't just rely upon passing the full -L
> path/to/fbxsdk/lib/platform/arch/{debug|release} to configure as if we
> pass debug we can't find the release lib and vice versa.
>
> If we can solve this then hopefully we can build the FBX plugin as part
> of the official build and not have to rely upon users to build it
> themselves.
>
> Thanks in advance for any help/pointers.

I've started this but am now stuck (again). Please see:

https://codereview.qt-project.org/#/c/193269/

What I would like is to be able to find the FBX SDK from:

1) Well known locations, or
2) An environment variable, or
3) A location specified as an argument to configure.

I've made a start on 3) but need to evaluate this in the custom test 
function, qtConfLibrary_fbx. 2) is already there to some extent. 1) we 
can pretty easily add a list of places to search as done for some other 
tests.

Where I'm falling down is in trying to construct the path to search for 
the actual libraries. For e.g. with the latest FBX SDK I have paths such as:

1) C:\Program Files\Autodesk\FBX\FBX SDK\2018.1.1\lib\vs2015\x64\debug
2) C:\Program Files\Autodesk\FBX\FBX SDK\2018.1.1\lib\vs2015\x64\release
3) C:\Program Files\Autodesk\FBX\FBX SDK\2018.1.1\lib\vs2015\x86\debug
4) C:\Program Files\Autodesk\FBX\FBX SDK\2018.1.1\lib\vs2015\x86\release

And from the docs it looks similar for other compiler versions and 
platforms.

I've managed to build up the $compiler/$arch part of the path but I 
can't figure out how to handle the debug vs release vs debug-and-release 
parts.

Is this possible to do at configure time or should I rather be doing 
this in a .pri/.pro file where we build the actual plugin?

What is the recommendation for building the config.test, debug or 
release or both?

Sorry if I'm being dumb, I still feel like I'm missing some of the 
though processes/rationale that went into designing the new system and 
I'm having trouble reverse engineering what is or isn't possible and how 
to best go about these things.

Thanks in advance for any help.

Sean

-- 
Dr Sean Harmer | sean.harmer at kdab.com | Managing Director UK
KDAB (UK) Ltd, a KDAB Group company
Tel. +44 (0)1625 809908; Sweden (HQ) +46-563-540090
Mobile: +44 (0)7545 140604
KDAB - Qt Experts



More information about the Development mailing list