Compile time executable calling?

Daniel Kozak kozzi11 at gmail.com
Sat Jul 13 15:06:47 PDT 2013


On Saturday, 13 July 2013 at 11:25:05 UTC, Peter Alexander wrote:
> On Saturday, 13 July 2013 at 11:19:49 UTC, Daniel Kozak wrote:
>> A few minutes ago, I have a same issue. I need add some enum 
>> values as a compile option.
>>
>> Now I have something like this:
>> version (Parser) {
>> 	enum Application = "parser";
>> }
>> version (Report) {
>> 	enum Application = "report";
>> }
>>
>> But would be nice to have posibility to add same value as a 
>> compile parametr, so I could have code like this:
>>
>> enum Application = __traits(getParametrValue, 
>> "MY_APPLICATION_NAME");
>>
>> and compile code with some args for eg.: 
>> -VMY_APPLICATION_NAME=parser
>
> You can solve this using import expressions.
>
> ---parser/config.include---
> enum Application = "parser";
>
> ---report/config.include---
> enum Application = "report";
>
> ---main.d---
> mixin(import("config.include"));
>
> ---Makefile---
> parser:
>     dmd main.d -Jparser
>
> report:
>     dmd main.d -Jreport
Thanks, this is usefull :)


More information about the Digitalmars-d mailing list