Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IOS build dir config #1965

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

IOS build dir config #1965

wants to merge 2 commits into from

Conversation

hjanetzek
Copy link
Member

@hjanetzek hjanetzek commented Dec 5, 2018

This allows setting a custom IOS_BUILD_DIR in Makefile. Very handy for developing on linux and osx at the same time when osx mounts the source directory from linux - so that the build output is not written over the network.

@hjanetzek hjanetzek force-pushed the ios-build-dir-config branch 3 times, most recently from 8437c0d to 80e6316 Compare December 5, 2018 22:17
@hjanetzek
Copy link
Member Author

Yay!

Copy link
Member

@matteblair matteblair left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Building for iOS seems to work, and using CMake to configure these files is better than the makefile steps that I had. However there are a couple issues with these changes:

  1. After running CMake I'm left with untracked files in git:
platforms/ios/Tangram.xcworkspace/contents.xcworkspacedata
platforms/ios/demo/TangramDemo.xcodeproj/project.pbxproj

Presumably because git recorded these files being moved to the templates folder. We could duplicate these files in their old locations or gitignore them entirely, but this leads into ...

  1. Changes to the demo Xcode project will be clobbered by CMake. The demo project isn't generated by CMake, it's generated and modified by Xcode like a typical iOS project. If we "configure" this file from a template then the template is where changes get preserved, but there's no easy way to update the template when we make changes to the project.

There may be a way to work around 2, but until we find it we can't merge this :\

@@ -206,12 +206,12 @@ endif
@cd platforms/ios && \
jazzy --config jazzy.yml



Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: extra space

@hjanetzek
Copy link
Member Author

Ok no hurry for me - still figuring out how to build things for ios. So it's good that this part works for me :)

I think we could keep the default files with relative build dirs in the repo. This way it's easy to see when our changes should be committed.
Only when invoking BUILD_ROOT=/... make ios-xcode the extra configure_files step is needed.

@matteblair
Copy link
Member

That might be a good compromise. The xcuserdata file will always need to be configured, but the xcworkspacedata and pbxproj files only nee to be configured if a custom build directory is set, and in that scenario we can document that Xcode project settings won't be preserved.

Base automatically changed from master to main February 15, 2021 01:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants