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 _______________________________________________ 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