[Qbs] building for iOS

Журавлев Сергей Zhuravlev at rutoken.ru
Thu Nov 23 15:42:56 CET 2017


I ran into some problems while building for iOS:

1. Flag -syslibroot appears twice in the invocation of ld - one from the invocation of clang and one somewhere from the environment. When I try to run the whole clang command independently I get only one -syslibroot, the one from clang command. I suppose it's because the environment during the execution of qbs is different. So usually it's not a problem, but with bitcode enabled it becomes an issue: "only one -syslibroot is accepted for bitcode bundle for architecture arm64". So now I have to do the following in my qbs product: "cpp.syslibroot: undefined". Is there a better workaround for this?

2. I specify -fembed-bitcode flag and get the following warning from ld all the time: "-headerpad_max_install_names is ignored when used with -bitcode-bundle". -headerpad_max_install_names is linker flag that is inserted unconditionally. Is there an issue in bugtracker concerning this?

3. Framework flags are always duplicated. If I specify cpp.frameworks: ["Foundation"], clang's flags will be "-framework Foundation -framework Foundation". Is it really messy qbs behavior, or am I doing something wrong?

I would also like to discuss following features that could be added to qbs:

1. Ability to copy framework into Frameworks folder of application bundle (Xcode has this feature). When an application uses custom framework, there could be an option to put framework bundle into the application bundle.

2. Reproducing Apple framework bundle structure for iOS.

I use macOS 10.12.6, XCode 9.0.1.

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

More information about the Qbs mailing list