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

Reply via email to