2014-05-09 7 views
5

Ich habe Anweisungen aus dem FAQ folgen: Is there an option to produce more 'verbose' compiling?. Ich habe jetzt:Verbose NMake Makefiles mit CMake

$ cat C:/Program Files/CMake 2.8/share/cmake-2.8/Modules/Platform/Windows.cmake 
[...] 
# uncomment these out to debug nmake and borland makefiles 
set(CMAKE_START_TEMP_FILE "") 
set(CMAKE_END_TEMP_FILE "") 
set(CMAKE_VERBOSE_MAKEFILE 1) 

ich dann mein Projekt regenerieren, und führen Sie nmake:

> cmake --version 
cmake version 2.8.12.2 

> cmake -G"NMake Makefiles" ..\project 
> nmake VERBOSE=1 
[...] 
[ 73%] Building CXX object apps/foobar/CMakeFiles/bla.dir/my.cpp.obj 
    cd C:\Dashboards\MyTests\project-build-debug-vista32-nightly\apps\foobar 
    C:\PROGRA~1\MICROS~1.0\VC\bin\cl.exe @C:\Users\voxxl\AppData\Local\Temp\nm1362.tmp 

Gibt es eine Möglichkeit, den Zugriff auf den vollen cl Befehlszeile haben?

+0

Gibt es irgendwas in 'C: \ Benutzer \ voxxl \ AppData \ Local \ Temp \ nm1362.tmp'? – Angew

+0

nm1362.tmp: Keine solche Datei oder Verzeichnis – malat

+0

Für mich Auskommentierung der drei Zeilen, die oben gezeigt wurden, haben den Trick gemacht. Sobald sie unkommentiert sind, wird die vollständige 'cl'-Befehlszeile angezeigt. Vielleicht wurde das nach dem OP behoben. – Andreas

Antwort

3

Unter Windows (XP oder höher) sind Befehlszeilen in der Länge auf 8.191 Byte beschränkt.

Windows-Compiler-Toolsets umgehen dies, indem sie die Syntax @filepath in der Befehlszeile zulassen.

Also VERBOSE = 1 ist weniger nützlich auf Windows. Aber man kann immer Kommandozeile überprüft in generierten * .make Dateien

Zum Beispiel (Pfad von Frage verwendet):

apps/foobar/CMakeFiles/bla.dir/build.make apps/foobar/CMakeFiles/bla.dir/flags.make