On 17. Mar, 2010, at 18:42 , Alan W. Irwin wrote: > According to "Unix in a Nutshell", the bourne and korn shells use the > following method of splitting stderr and stdout into two separate > files. > > (cmd >f1) 2>f2 > > I have checked that the parentheses work for bash, although they are not > necessary. Therefore, the above seems to be a good candidate for the best > way to split stderr and stdout if you want your build system to work for a > wide variety of bourne (or korn) shell dialects. > > However, CMake COMMAND totally buggers the above construct regardless of > whether VERBATIM is set and regardless of spacing around the parentheses or > not. A number of issues occur, but the constant one for all variants that I > tried is the opening parentheses are quoted which is then interpreted as a > separate command (at least by bash). > > Of course, I can always drop the parentheses for my own (bash) needs, and > then all is well. But I am concerned that may be a non-standard bashism > that is being forced on me by CMake that will not work for most/all other > bourne shell dialects. > > Alan
Thing is, cmake is neither bash nor ksh, else it would be called cash ;-) To do what you want to do in a platform independent way, is to wrap your command in a .cmake script and in there use EXECUTE_PROCESS, where you have the OUTPUT_VARIABLE, OUTPUT_FILE, ERROR_VARIABLE and ERROR_FILE options. HTH 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
