2010-04-27 2 views
3

Mon intention est de se retrouver avec une ligne de commande du compilateur, y compris -DOEM = « FOO BAR »Comment générer un CPPDEFINE spécifique tel que -DOEM = « FOO BAR » en utilisant Scons

je suit dans mon SConstruct fichier:

opts = Options('overrides.py', ARGUMENTS) 
opts.Add('OEM_NAME', 'Any string can be used here', 'UNDEFINED') 
. 
. 
. 
if (env.Dictionary('OEM_NAME') != 'UNDEFINED'): 
    OEM_DEFINE = 'OEM=' + str(env.Dictionary('OEM_NAME')) 
    env.Append(CPPDEFINES=[ OEM_DEFINE ]) 

Puis-je mettre ce qui suit dans le fichier « overrides.py »:

OEM_NAME = "FOO BAR" 

me semble finir avec « -DOEM = FOO BAR » dans la ligne de commande qui obtient généré . Quelqu'un peut me diriger dans la bonne direction? Merci. CPPDEFINES peut être un dictionnaire (le guide de l'utilisateur de Scons a an example)

Répondre

3

Je ne pouvais pas trouver un moyen de se débarrasser des citations environnantes, donc j'ai dû doubler échapper des citations autour de la chaîne:

env = Environment(CPPDEFINES = {'OEM': '\\"FOO BAR\\"'}) 
Questions connexes