On 09/25/2014 09:43 AM, Adam Strzelecki wrote: >> I think the delayed-\n approach is the simplest. In the >> case that the output is interrupted by other content it >> almost certainly means something is going wrong anyway. > > Does CMake use popen to launch processes? Or it just spawns > them providing them direct access to stdin/out/err?
In Source/kwsys/Process.h.in there is an API for executing child processes. Most of CMake uses a RunSingleCommand method wrapping it up here: http://www.cmake.org/gitweb?p=cmake.git;a=blob;f=Source/cmSystemTools.cxx;hb=v3.0.2#l624 Some call sites share stdout/stderr and some do not. The execute_process() command is implemented with the KWSys Process API too, and that command has options for what to do with the pipes. As for the check message lines, I think it should be up to the check macro to ensure it does not invoke anything that could print intermediate output between the beginning of the line and the result of the check. -Brad -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers