<div dir="ltr"><span style="font-size:12.8px">Dear all,</span><div><span style="font-size:12.8px"><br>Project has following structure (and I can't change it)<br><br></span></div><div><span style="font-size:12.8px">-project<br>  -module1</span></div><div><span style="font-size:12.8px">     -CMakeLists.txt (module1 build rules, depends on module2 using add_subdirectory("../module2" "${binarypath}")</span></div><div><span style="font-size:12.8px">     -lib1</span></div><div><span style="font-size:12.8px">       -CMakeLists.txt (depends on lib3)</span></div><div><span style="font-size:12.8px">     -lib2</span></div><div><span style="font-size:12.8px">       -CMakeLists.txt</span></div><div><span style="font-size:12.8px">  -module2</span></div><div><span style="font-size:12.8px">     -lib3</span></div><div><span style="font-size:12.8px">       -CMakeLists.txt</span></div><div><span style="font-size:12.8px">     -lib4<br></span><div><span style="font-size:12.8px">       -CMakeLists.txt</span></div><span style="font-size:12.8px">  </span><br><span style="font-size:12.8px">But ninja generator generates build rule with absolute paths: </span><br><span style="font-size:12.8px">build d$:\project\module2\lib3:....</span><br><br><span style="font-size:12.8px">But depends it as ..\module2\lib3</span><br><br><span style="font-size:12.8px">as a result I got following error:</span><br><span style="font-size:12.8px">ninja: error: '../module2/lib3.lib', needed by 'lib1', missing and no known rule to make it<br></span><br>I added additional phony to build.ninja and it worked:<br>build <span style="font-size:12.8px">../module2/lib3.lib: phony </span><span style="font-size:12.8px">d$:\project\module2\lib3<br></span><br>How should I fix CMake files to generate same names/aliases for targets?<br><br>-- <br></div><div><div class="gmail_signature">Best Wishes,<br>Vladimir Yelnikov</div>
</div></div>