Xcode preprocessor dependent on environment variable
Asked Answered
T

1

10

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?

Tableware answered 31/1, 2012 at 23:4 Comment(0)
G
3

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.

Gleeson answered 8/8, 2012 at 12:23 Comment(3)
I came across something which you may find interesting (or not), take a loot at https://mcmap.net/q/1168639/-setting-up-user-specific-preprocessor-macros-for-xcodeJori
Interesting, indeed! But maybe not in this case.Gleeson
Yes, this question is more general.Jori

© 2022 - 2024 — McMap. All rights reserved.