Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Xcode preprocessor dependent on environment variable

I have a configuration that I'd like to dynamically control a preprocessor defined value through an environment variable.

Is this possible? if it is how do I set in the preprocessor define table that I want to set the value based on the environment variable?

like image 615
cynistersix Avatar asked Jan 31 '12 23:01

cynistersix


1 Answers

In the "Build Settings" of a target of your project, you can add something like that to the "Preprocessor Macros" field:

DEV_USERNAME="${USER}"

Of course, the USER variable can be replaced by any environment variable available to Xcode build system. To get a list of those, you can add a run script to your target and enable the checkmark "Show environment variables in build log."

You can then use the DEV_USERNAME preprocessor macro in your code. And if you want to use it as a string, you can "stringify" it:

#define xstr(s) str(s)
#define str(s) #s

xstr(DEV_USERNAME)

This will give you the username surrounded by double quotes.

like image 80
MonsieurDart Avatar answered Oct 20 '22 03:10

MonsieurDart