On 14.01.11 20:25:25, 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 \?

It just turned out that the problem was not the above, in particular since
I require version 2.8 which sets CMP0005 to NEW. Hence cmake takes care of
proper quoting itself.

The problem was rather an earlier add_definitions line which tried to set a
define that included a semicolon. Apparently that is something that make
cmake create completely bogus CXX_DEFINES lines in the flags.make file.
I've reported a bug about that now.

Andreas

-- 
Chess tonight.
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to