msbuildclbiicode

MsBuild ClCompile Output Format


TL;DR: In the following MsBuild output, what do the file names (sourceFile1.cpp ~ sourceFileX.cpp) that come after the cl command mean? (scroll down for a link to an actual log file)

ClCompile:
  cl.exe <args> <includeDirs> <sourceFile1.cpp sourceFile2.cpp ... sourceFileN.cpp>
  sourceFile1.cpp # what do these mean?
  sourceFile2.cpp
  ...
  sourceFileX.cpp

The N and X are deliberately different variables.

Long:

Context: I'm modifying CppMicroServices library's CMake configuration to be biicode compatible.

Building with the original configuration produces the above output, with N == X, i.e. all files passed to the cl command are also output on the subsequent lines. This compiles fine on Ubuntu 14.10, and Windows 8.1.

Building using the biicode-modified CMakeLists.txt produces a similar output, but N != X. N is the same for both the biicode output and the original, but X for biicode is a much smaller subset of the source files compared to X from the original.

A full log file of this is here: http://pastebin.com/hRi8WGwN

Lines 56 ~ 100: output that matches the original build target (43 source files passed to cl, 43 lines follow with the same source file names).

Lines 183 ~ 192: output for the bii-specific target (43 source files passed to cl, 8 lines of some source file names, followed by some errors which I assume will be fixed when this is solved).

The biicode specific target builds fine on Ubuntu.


Solution

  • The files in the list are the ones that the compiler is supposed to be compiling. It prints them out one by one as it compiles them. If it encounters any errors while compiling, the errors and a reference to the source file they were encountered in will be interspersed with the list of source files that are being compiled.