[CMake] problem getting defines quoted properly
Michael Hertling
mhertling at online.de
Fri Jan 14 15:57:39 EST 2011
On 01/14/2011 08:25 PM, Andreas Pakulat wrote:
> Hi,
>
> I'm trying to set a define so that it can be used as string-literal in
> C++ code using add_definitions. This:
>
> add_definition( -DMYFOO=\"BAR BAZ\" )
>
> works fine on linux, but breaks with MSVC6 on windows. I always thought
> I understood cmake's quoting rules, but apparently I'm wrong :(
>
> I've already tried:
> add_definition( -DMYFOO=\\\"BAR BAZ\\\" )
>
> What I didn't think of trying when I was at the machine is
> add_definition( -DMYFOO=\\"BAR BAZ\\" )
>
> Would that be the correct one? Or do I need even more \?
No, you probably need a configured header. ;)
The documentation of ADD_DEFINITIONS() states
"Flags beginning in -D or /D that look like preprocessor definitions are
automatically added to the COMPILE_DEFINITIONS property for the current
directory."
and from the COMPILE_DEFINITIONS directory property's documentation:
"The VS6 IDE does not support definition values with spaces..."
^^^
So, I think your issue is not caused by CMake.
Regards,
Michael
More information about the CMake
mailing list