If I edit the build.ninja file directly:

this:
ident21 = /media/Work/My\ Builds/cmake/Utilities/KWIML/test/test.c
to this:
ident21 = /media/Work/My$ Builds/cmake/Utilities/KWIML/test/test.c

Then it does not complain about test.c. So it seems like the place to fix this would be where it rights out the path to the sources and to replace the "\ " stuff with "$ ". Or the place that puts in the "\ " and use $ instead of \ to escape the spaces in the first place.

As a quick hack I tried this:

std::string cmNinjaTargetGenerator::ConvertToNinjaPath(const char *path) const
{
  std::string p = this->LocalGenerator->Convert(path,

cmLocalGenerator::HOME_OUTPUT,

cmLocalGenerator::MAKEFILE);
  cmSystemTools::ReplaceString(p, "\\ ", "$ ");
  return p;
}

It got further but got hung up on Docs/ctest.txt. That is from a custom command so it must be calling something else to convert to paths for those...

-Bill
--

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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to