extras: apple: add XCodeGen spec project to interop with XCode
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
Activity
changed milestone to %4.0
added Component::Build system Platform::appleOS Type::feature labels
added MRStatus::Reviewable label
added MRStatus::Acceptable label and removed MRStatus::Reviewable label
added MRStatus::Accepted label and removed MRStatus::Acceptable label
MR Acceptance result
This MergeRequest has been Accepted! Congratulations.MR acceptance checks details:
-
MR should be considered mergeable by Gitlab -
Last pipeline should be successful -
MergeRequest should have at least one external review and/or vote -
All threads should be resolved, and score >= 0 -
MergeRequest should have no activity (threads/votes) for (24h/24h)
-
added 29 commits
-
dd136911...3516283b - 19 commits from branch
videolan:master
- 8af92b7b - configure.ac: remove color parsing on NO_COLOR=1
- 97d7b00d - extras: apple: add extra version for simulators
- 0677ec5a - modules: Makefile.am: generate list of plugins
- 4783e5d6 - apple: build.sh: use absolute path
- 030aee07 - apple: build.sh: move contrib builds to vlc/contribs/
- adca278c - apple: build.sh: disable subdirectory restriction
- d569d35f - apple: build.sh: ensure flags definition are stored
- 93aa36d3 - extras: apple: add xcodegen spec project
- f2654489 - xcodegen: generate dSYM bundles from binary copy script
- 228de53f - apple: generate.sh: add a script to generate xcodeproj
Toggle commit list-
dd136911...3516283b - 19 commits from branch
added MRStatus::Acceptable label and removed MRStatus::Accepted label
added 11 commits
-
3bb7c0e5 - 1 commit from branch
videolan:master
- f3a959e7 - configure.ac: remove color parsing on NO_COLOR=1
- a18ceda2 - extras: apple: add extra version for simulators
- 3833584f - modules: Makefile.am: generate list of plugins
- 12c21c28 - apple: build.sh: use absolute path
- 529a072a - apple: build.sh: move contrib builds to vlc/contribs/
- 5a1e92d6 - apple: build.sh: disable subdirectory restriction
- 6866438d - apple: build.sh: ensure flags definition are stored
- 3f9b85e2 - extras: apple: add xcodegen spec project
- 5a889373 - xcodegen: generate dSYM bundles from binary copy script
- 332b22cf - apple: generate.sh: add a script to generate xcodeproj
Toggle commit list-
3bb7c0e5 - 1 commit from branch
enabled an automatic merge when the pipeline for 332b22cf succeeds