include paths get screwed up. e.g., we use this repo as a submodule, and if I forget to pull the submodule dependency, the includes in the dependee's xcconfigs point to files that aren't there. if I try to build, xcode helpfully warns that it couldn't find the file. if I pull the submodule dependency, however, the warning persists and the settings don't resolve, even after cleaning. There are two ways to fix it:

modify the include path, and then set it back to what it was. Apparently, marking the file as dirty is the only way to get the config preprocessor to do another pass

quit xcode

(TODO: add radar link)

cocoapods injects their own xcconfigs, be careful not to overwrite their settings

in most cases, you can specify a globel sdk specifier:

<setting-name>[sdk=*] = $(inherited) <my other settings...>

urls or other things with double slashes are treated as comments

define another constant called SLASH that you can dynamically expand with $(SLASH)$(SLASH)?