Skip to content

extras: apple: add XCodeGen spec project to interop with XCode

Alexandre Janniaux requested to merge alexandre-janniaux/vlc:xcodegen/1 into master

Add an XCodeGen project spec to generate an XCode project which will be using autoconf and automake to build, as well as exposing the generated artifacts to other XCode projects. The project generation could easily switch or also support meson in the future. Since it doesn't include an xcode-specific buildsystem, it means that it's completely independant from the current buildsystem and doesn't need to be kept up-to-date as well.

This will be generating the build artifacts inside the product build directory from XCode, so Clean build folder will work as expected in the editor, and use dynamic plugins to copy them towards the final application for now.

This project allows testing VLC directly through the iosvlc.m test driver, without building VLCKit nor VLC for iOS or another test application, by directly using XCode to run it on the targetted platform.

Exposing such project also allows debug symbols and debugguer with breakpoint support to work automatically, even when using the artifacts in another project.

The xcode.sh script is added as a wrapper script to handle the specificities of XCode when calling external buildsystem, in particular the multi-arch building for archiving application and packages.

The copy_plugins.sh is added as a build phase script so that application can install the plugins matching the architecture being built. It currently probably fails with cases where some plugins are not built for every architecture of a platform since I haven't tested that yet. It is also quite "dumb" and re-do everything from scratch for now.

Merge request reports