Pour les raisons mentionnées dans d'autres réponses à cette question, vous ne pouvez pas hériter facilement des valeurs.
Je recommande de définir vos paramètres en cascade. Supposons que APP soit le préfixe de votre projet et rendons cela simple en définissant seulement quelques CFLAGS :
plate-forme.xcconfig :
APP_PLATFORM_CFLAGS = -DMAS=1
projet.xcconfig :
#include "platform.xcconfig"
APP_PROJECT_CFLAGS = -DBETA=1
target-one.xcconfig :
#include "project.xcconfig"
APP_TARGET_CFLAGS = -DSUPER_COOL=1
#include "merge.xcconfig"
cible-deux.xcconfig :
#include "project.xcconfig"
APP_TARGET_CFLAGS = -DULTRA_COOL=1
#include "merge.xcconfig"
fusionner.xcconfig :
OTHER_CFLAGS = $(inherited) $(APP_PLATFORM_CFLAGS) $(APP_PROJECT_CFLAGS) $(APP_TARGET_CFLAGS)
Ensuite, vous baserez chacune des configurations de construction de vos cibles sur target-xxx.xcconfig
. Un projet réel utilisera des configurations plus complexes, utilisant un fichier de configuration pour le projet et un autre pour la cible, mais vous avez compris l'idée.
N'oubliez pas non plus que $(inherited)
se réfère à plus haut niveau de la hiérarchie, et non plus tôt . Par exemple, il hérite du niveau Projet au niveau Cible. Je ne sais pas si cela s'applique également à Xcode 4.
Il s'agit d'une simplification de GTM Pour en savoir plus, rendez-vous sur ce site.