On 29. Jul, 2010, at 8:51 , Andreas Pakulat wrote: > On 29.07.10 08:37:36, Michael Wild wrote: >> >> On 29. Jul, 2010, at 6:37 , Óscar Fuentes wrote: >> >>> Michael Wild <them...@gmail.com> writes: >>> >>> [snip] >>> >>>> Perhaps you need to tell us what it is that you are trying to achieve, >>>> because I suspect that you are over-thinking things and that there is >>>> a much simpler solution. E.g. what should buildobj.h contain >>>> (semantically, not the exact strings), and why is it only known at >>>> build time? >>> >>> I "solved" this specific instance with configure_file. It is not as >>> convenient as the original add_custom_command method but it works. >>> >>> What really concerns me is the general problem: a CMake command that >>> acts on a platform-dependent way when the existence of those "-E" >>> commands are motivated, precisely, for the cross-platform nature of >>> CMake. Maybe I should file a bug report and see how it fares. >> >> The problem is, CMake has to go through the system shell. Of course, CMake >> could write the command to a file and then invoke a custom interpreter from >> the system shell, but that would probably be very inefficient and would >> require CMake to implement a full shell language. And then CMake would be >> required to decide which semantics to implement (probably POSIX) and then >> Windows-only people would be angry... > > No it doesn't. CMake only needs to implement the commands it wants to > support. Thats actually what happens right now already (see cmake.cxx), > the commands for -E are all implemented in C++ code (including echo, > copy and others) > > Andreas > > -- > Good day to deal with people in high places; particularly lonely stewardesses.
But CMake only provides a useful, cross-platform, set of "shell-commands", but it is not a shell replacement. The cmake command is still invoked through the shell. With GNU Make, CMake could generate Makefile's that contain "SHELL=$(CMAKE_COMMAND)" instructions, but I don't think this is possible for Nmake, MSVC or Xcode. 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