cross-language-cpp / djinni

A tool for generating cross-language type declarations and interface bindings.
https://djinni.xlcpp.dev
29 stars 2 forks source link

ios.toolchain.cmake should be removed to use native iOS Toolchain in CMake #24

Closed epicstar closed 3 years ago

epicstar commented 3 years ago

iOS building is now supported in cmake, so it's unnecessary to package this now: https://github.com/cross-language-cpp/djinni/blob/master/cmake/ios.toolchain.cmake

I haven't used djinni before, but I have built iOS projects without the toolchain in cmake and I'm able to build fine :).

a4z commented 3 years ago

Hi Jeremy, thanks for your input!

It is true that cmake supports cross building for iOS (since some versions, I think 3.14), but last time I checked it did not support all the features https://github.com/leetal/ios-cmake enables, for example building fat binaries or fat libraries.

Please be aware that you look at the fork of the old dropbox repo, and this is not actual. We have split djinni into a new project structure. More information about that here https://github.com/cross-language-cpp/djinni/issues/17 There is also more documentation at https://djinni.xlcpp.dev/

About the cmake toolchain file, it is not contained in the new repo for the support lib. Currently it is up to the projects to setup the compilation flavor, either by using a the ios-cmake toolchain, a own one, or add the repos as subproject where the setup is done with the onboard possibilities of cmake. We also plan to provide conan packages, and maybe even hunter ones, of the support lib.

But you input is a good motivator to look at the cmake onborad cross compilation, and mabye provide this as on option for the support lib, so I just created https://github.com/cross-language-cpp/djinni-support-lib/issues/9 Thanks!

epicstar commented 3 years ago

Please be aware that you look at the fork of the old dropbox repo, and this is not actual.

Yup, since Dropbox kiled djinni on their end, I heard this is the proposed revival of djinni.

but last time I checked it did not support all the features https://github.com/leetal/ios-cmake enables, for example building fat binaries or fat libraries

This isn't true..... To my knowledge should support all features that leetal's did. And fat libs are supported on official cmake as of 3.5.2: https://github.com/leetal/ios-cmake/issues/12

No worries guys, in my free time I'll try to turn this repo into the "official" revived djinni.

a4z commented 3 years ago

Happy to hear you are eager to improve the current implementation. Please be aware that this repo is dead code! We will soon make that even more clear than I did in my previous comment.

Future changes for the support lib will happen in https://github.com/cross-language-cpp/djinni-support-lib/ For cmake improvements I created there that ticket https://github.com/cross-language-cpp/djinni-support-lib/issues/9.

Your contribution will be very welcome!

Please see https://djinni.xlcpp.dev/contributing/ and be also aware that we are still in an early stage as a project.

a4z commented 3 years ago

I close that issue in favour of https://github.com/cross-language-cpp/djinni-support-lib/issues/9 . Please proceed in the djinni-support-lib repo.