Code::Blocks Forums

User forums => Using Code::Blocks => Topic started by: Dvorkin on February 28, 2014, 04:10:54 pm

Title: Slash symbol in custom variable
Post by: Dvorkin on February 28, 2014, 04:10:54 pm
I've defined custom variable

REMOTE_DIR=/mnt/app/bin

at Project Build Options->Custom Variables.
But after I closed the project and opened it again, the variable is:

REMOTE_DIR=\mnt\app\bin

So slash become backward slash. Why is it?

I work in Windows 7, Code::Blocks v13.12
Title: Re: Slash symbol in custom variable
Post by: Dvorkin on March 04, 2014, 08:22:36 am
There is correct record in .cbp project file.

<Environment>
   <Variable name="REMOTE_DIR" value="/mnt/app/bin" />

So the problem is in project file reading (while the project opening).

I need in the variable REMOTE_DIR to specify directory at remote system running on Linux.
Title: Re: Slash symbol in custom variable
Post by: oBFusCATed on March 04, 2014, 09:52:23 am
C::B does an automatic conversion of paths, so they look native on the different operating systems.
Probably we should add an option to disable this feature for some of the variables.
Title: Re: Slash symbol in custom variable
Post by: Dvorkin on March 05, 2014, 07:26:56 am
I think you should not do any conversions at all. The variable's value is just text string, and only user must decide is it a path or something else...
Title: Re: Slash symbol in custom variable
Post by: oBFusCATed on March 05, 2014, 08:40:23 am
Most of the times the ENV vars are used to setup paths and automatic conversion generally is a good thing. But probably we need some switch to allow the user to override it.
Title: Re: Slash symbol in custom variable
Post by: Dvorkin on March 05, 2014, 11:04:47 am
May be.
Do the switch, please, because it seems to be very useful.
Title: Re: Slash symbol in custom variable
Post by: oBFusCATed on March 05, 2014, 11:30:51 pm
Can you post the envvar tags from your default.conf file, so I can take a look?
The conf file is in %APPDATA%/Codeblocks/default.conf.
The tag to search for is <envvars>.
Copy and paste it here using quote or code tags (# button).
Title: Re: Slash symbol in custom variable
Post by: Dvorkin on March 06, 2014, 07:16:43 am
%APPDATA%/Codeblocks/default.conf contains global environment, Settings->Environment->Environment Variables. This works fine, there is not incorrect slash modification.

The problem is in Project->Build options->Custom Variable.

It's from project .cbp file(I've deleted extra info about targets Release and Debug):
Code
		<Build>
<Environment>
<Variable name="REMOTE_DIR" value="/mnt/gdb/bin" />
</Environment>
</Build>
Exactly this variable, REMOTE_DIR from Project->Build options->Custom Variable has incorrect behavior.

//---------------------------------------------------------------------------------------------------------
And now from %APPDATA%/Codeblocks/default.conf (but, again, there is not problem):
Code
	<envvars>
<sets>
<default>
<ENVVAR0>
<str>
<![CDATA[1|REMOTE_IP|192.168.1.10]]>
</str>
</ENVVAR0>
<ENVVAR1>
<str>
<![CDATA[1|REMOTE_USER|root]]>
</str>
</ENVVAR1>
<ENVVAR2>
<str>
<![CDATA[1|REMOTE_PASSWORD|root]]>
</str>
</ENVVAR2>
<ENVVAR3>
<str>
<![CDATA[1|REMOTE_DIR|/mnt/app/bin]]>
</str>
</ENVVAR3>
</default>
</sets>
<ACTIVE_SET>
<str>
<![CDATA[default]]>
</str>
</ACTIVE_SET>
<DEBUG_LOG bool="0" />
</envvars>
Title: Re: Slash symbol in custom variable
Post by: oBFusCATed on March 07, 2014, 09:14:56 am
Is it a problem if you start using envvars for this task as a workaround?
The added benefit is that the settings won't be stored in the project, so they can be different for every dev on your team.
Title: Re: Slash symbol in custom variable
Post by: Dvorkin on March 11, 2014, 05:47:06 am
Using of the project env vars is not a workaround. The variable REMOTE_DIR is using for copying output file to remote system, and for starting GDB server on remote system. Every project has it's own directory at remote system, so every project has it's own env var REMOTE_DIR. It defined in Project->Build options->Custom Variable.