GN Clean issue with Visual Studio Project generation (path difference with ".") |
|||
Issue descriptionI noticed that gn -tclean treats paths differently than the usual build command. I noticed this with ANGLE, where static libraries are built in obj/ and dynamic libraries and binaries in ./ . The VS projects call ninja.exe -C $(OutDir) -tclean " + ninja_target, see: https://cs.chromium.org/chromium/src/tools/gn/visual_studio_writer.cc?sq=package:chromium&l=651 This translates a static lib to ninja -C out/Debug_x64/ -tclean obj/libANGLE.lib which works fine. However, a dynamic lib is translated to ninja -C out/Debug_x64/ -tclean ./libEGL.dll.lib, which produces the error: ninja: error: unknown target './libEGL.dll.lib' However modifying this to remove the "./" works as expected: ninja -C out/Debug_x64/ -tclean libEGL.dll.lib Cleaning... 16 files. So I'm not sure if the problem is actually in the project generation, or is something to do with the clean tool not handling paths properly. Can someone cc'ed to the watchlists for this bug help?
,
Dec 12 2017
No one seems to have responded, cc'ing Frank from ANGLE. Currently blocking ANGLE switching to GN.
,
Dec 18 2017
A small change to ninja lets it work with a leading "./" https://github.com/ninja-build/ninja/pull/1366
,
Aug 14
The ninja change landed ~4 months ago but still hasn't shown up in depot_tools. Landed https://gn.googlesource.com/gn/+/f4facf42082cee8eb6130af60fe9de280bc5e1bf which stops gn from putting in the "./" Using either a recent enough ninja or a recent enough gn solves this issue. |
|||
►
Sign in to add a comment |
|||
Comment 1 by jmad...@chromium.org
, Dec 2 2017