Build failure due to {cd bindir} failed on Windows/Ninja

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Build failure due to {cd bindir} failed on Windows/Ninja

Jom O'Fisher
I have an issue that's really difficult to track down because it only seems to repro on certain machines which don't have access to. 

The sequence of events seems to be:
(1) Invoke cmake to generate ninja project. Success. 
* Note that generated has .o compilation dependencies with absolute paths and .so link dependencies with relative paths.
(2) Invoke "cmake --build my-path --target my-target"
(3) CMake changes tries to change it's working directory here:
(4) Evidence suggests this fails and is silently ignored here:
(5) CMake invokes ninja.exe to build.
(6) Ninja eventually tries to link the resulting .so and this fails because the .so path is relative in and the output folder doesn't exist relative to the current directory.

A common theme of the machines this repros on seems to be that they run a non-US-English Windows. There has to be more to it though because I tried that myself and still didn't repro. A theory I had was that CMakeCache.txt is written in some encoding that loses information in the presence of Unicode characters. I tried this and it didn't seem to pan out.

Mainly I'd like to see if anyone has ideas that would help me reproduce the issue and also whether you suspect it may be fixed in versions of CMake after 3.6.

My tracking bug which has the full history:

Thanks for your help


Powered by

Please keep messages on-topic and check the CMake FAQ at:

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support:
CMake Consulting:
CMake Training Courses:

Visit other Kitware open-source projects at

Follow this link to subscribe/unsubscribe: