4

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.

Community
  • 1
  • 1
Azriel
  • 386
  • 2
  • 13
  • 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. – Timo Geusch Dec 18 '14 at 19:30
  • So I guess my question becomes "How do I tell biicode to pass in the right files". But how can anyone tell that `1~X` are meant to be compiled, given `1~N` are passed in? Windows CLI tools are hard to understand ._. – Azriel Dec 18 '14 at 19:48
  • Hold on, that must mean the list of errors after a particular `sourceFileX` are the compilation errors for that file, and compilation continues. If my understanding is correct, you could convert your comment to an answer, I can close the question. – Azriel Dec 18 '14 at 19:59
  • That is indeed correct. – Timo Geusch Dec 18 '14 at 23:06

1 Answers1

2

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.

Timo Geusch
  • 24,095
  • 5
  • 52
  • 70