Is there dependency generation flag for MSVC like gcc's -M
flag.
Every C++ compiler I have ever used had this kind of flag. How can I create dependencies
automatically with MSVC cl compiler.
- I'm interested for only latest compiler versions i.e. MSVC9 or later but if it works with MSVC8 it is fine as well.
- If there is built-in external tool to do this (I mean, not cl), it would be fine as well
This batch script may be what you and I have been looking for, though I have not tested it.
Pass file as %1 and include path as %2
@ECHO %1: \
@FOR /F "tokens=1,2,3,*" %%A IN ('cl /nologo /c %1 /Zs /showIncludes /I%2') DO @IF NOT "%%D"=="" echo %%D \
Outputs:
filename.c: \
header.h \
someotherheader.h
You may be able to use:
/showIncludes show include file names
although you will probably also need some additional filtering afterwards to get the format that you need.