Is there a better way to check if a configuration variable is blank?

I was working on incorporating a new client's standards and was trying to idiot-proof our project setup files and ran into an issue that seems like it should have a one line solution, but I can't figure it out.  After banging my head against a wall for quite some time trying to figure out how a variable that I was clearly defining was coming up as "Symbol '$(MY_VARIABLE)' is undefined", I finally realized that Microstation gives the same error message for defined variables with no value as it does for undefined variables. So then I started trying to figure out how to determine if the variable was blank so I could proactively set a value so the logic in the project setup won't bomb out when it hits a variable with a null value.  Neither !defined or setting a variable's value with : work as the variable is technically defined, so I ended up doing the following, but it feels like a bit of a hack job:

_CHECK_EMPTY = $(MY_VARIABLE)EMPTY
%if $(_CHECK_EMPTY) == "EMPTY"
MY_VARIABLE = OHMYGODAVALUE!
%endif

It seems like I should be able to go:

%if $(MY_VARIABLE) == ""

but I couldn't come up with a "null" expression that worked [""," ",null,(null),'null', ,'',[ ],etc.].  Anyone have any ideas?  Thanks.

Parents Reply
  • If you must have the variable defined correctly for the configuration to work as intended do you actually want it to proceed when an error is encountered? That seems like a bad idea to me.

    How about the following structure for each custom variable:

    MY_VARIABLE = ReplaceDefaultValue

    %if $(MY_VARIABLE) == "ReplaceDefaultValue"

    %error MY_VARIABLE must be given the correct value for the configuration to work properly

    %endif

    Produces this message in a text window:

    "MY_VARIABLE must be given the correct value for the configuration to work properly, [W:\SS6\PCF\ABD_TestProject.pcf], line 21"

    Any other value allows processing to proceed.

    Regards

    Marc

Children
No Data