On 28.07.10 19:19:08, Óscar Fuentes wrote: > For creating a file at build time with a content like this: > > #define foo "bar" > > I use this on Linux: > > add_custom_command(OUTPUT buildobj.h > COMMAND ${CMAKE_COMMAND} -E echo "\\#define foo \\\"bar\\\"" > > buildobj.h > ) > > but that doesn't work on Windows, because it outpus: > > \#define foo "bar" > > Removing the backslashes before `#' fixes the problem on Windows, but > then breaks the Linux build. > > This looks as if `echo' was using the system shell for doing the job, > because the escapes works differently on each system.
Its not, see cmake.cxx line 1064, it simply prints out the string to stdout. So possibly the error is in add_custom_command, i.e. that one might require the platform-specific quoting. Andreas -- You display the wonderful traits of charm and courtesy. _______________________________________________ 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