vendor and xcconfigs

21 views
Skip to first unread message

Stewart Gleadow

unread,
Nov 16, 2011, 5:45:57 AM11/16/11
to vendo...@googlegroups.com
On most team based projects, I try to keep the project file as small as possible (so things like xcconfigs for build settings, smart groups or bundles for resources that kind of thing)... this is partly to reduce merge conflicts, and partly to keep changes to build settings visible. People don't read the xcodeproj file diffs before they push because they're too big.

...so if vendor is going to need to tweak my build settings, I probably want it to edit my xcconfig rather than the build settings themselves. I use a set up similar to http://robnapier.net/blog/build-system-1-build-panel-360

This is probably not the most urgent thing to work on, although I did see something on twitter about cocoapods doing something for this, not sure how.

- Stew

Keith Pitt

unread,
Nov 17, 2011, 6:18:56 PM11/17/11
to vendo...@googlegroups.com
Hrm, I'm pretty sure adding the configs to the xconfigs should be pretty straightforward, but I'm not sure how to define it in the Vendorfile.

Any thoughts?

Keith

-- 
Keith Pitt

Stewart Gleadow

unread,
Nov 17, 2011, 10:31:13 PM11/17/11
to vendo...@googlegroups.com
Maybe just specify the Shared.xcconfig filename or something like that? Then update LIBRARY_SEARCH_PATHS and HEADER_SEARCH_PATHS.

I think Cocoapods uses xcconfig files, not sure how they manage it. Most people don't use them, so it's potentially a way of injecting a file that contains all the vendor settings (Vendor.xcconfig) and then linking that in the project file for all configurations. It'd potentially cause problems if people _are_ also using config files.

One difficulty is that the config files don't really inherit properly, and they don't seem to work like shell variables even though the syntax is similar - so you'd need to update all references to those variables.

LIBRARY_SEARCH_PATHS = $(LIBRARY_SEARCH_PATHS) vendor/Kiwi -----> does not work
LIBRARY_SEARCH_PATHS = $(inherited) vendor/Kiwi --------> does not always work. It inherits from the system defaults, but does not inherit from previous definitions of the shell variables. (ie. it inherits between the 'levels' of build settings, which are system/compiler defaults, xcconfig for configuration, xcconfig for target, xcode Build Settings

- Stew
Reply all
Reply to author
Forward
0 new messages