Z przyczyn podanych w innych odpowiedziach na to pytanie nie można łatwo dziedziczyć wartości.
Polecam definiowanie ustawień kaskadowo. Załóżmy, że aplikacja jest Twój prefiks projekt i zrobić to proste zdefiniowanie tylko kilka CFLAGS:
platform.xcconfig:
APP_PLATFORM_CFLAGS = -DMAS=1
project.xcconfig:
#include "platform.xcconfig"
APP_PROJECT_CFLAGS = -DBETA=1
docelowego one.xcconfig:
#include "project.xcconfig"
APP_TARGET_CFLAGS = -DSUPER_COOL=1
#include "merge.xcconfig"
target-two.xcconfig:
#include "project.xcconfig"
APP_TARGET_CFLAGS = -DULTRA_COOL=1
#include "merge.xcconfig"
merge.xcconfig:
OTHER_CFLAGS = $(inherited) $(APP_PLATFORM_CFLAGS) $(APP_PROJECT_CFLAGS) $(APP_TARGET_CFLAGS)
Następnie będziesz oparcie każdego z celów zbudować konfiguracje na target-xxx.xcconfig
. Prawdziwy projekt użyje bardziej złożonych konfiguracji, używając pliku konfiguracyjnego dla projektu i innego dla celu, ale masz pomysł.
Należy również pamiętać, że $(inherited)
dotyczy wyższy poziomie w hierarchii, nie wcześniej. Na przykład dziedziczy z poziomu projektu na poziomie docelowym. Nie wiem, czy dotyczy to również Xcode 4.
To jest uproszczenie GTM, przejdź tam, aby dowiedzieć się więcej.
Nie ma szczęścia w XCode 3.2 :( –