Zeigt die EXECUTE_PROCESS-Ausgabe für Befehle wie dir oder echo auf stdout an

8

Ich möchte direkt die Ausgabe eines Befehls sehen, der mit dem Befehl EXECUTE_PROCESS auf stdout gestartet wurde, während das Programm läuft.

Ich habe die folgende Test-CMakeLists.txt-Datei

%Vor%

Wenn es von der Kommandozeile aus ausgeführt wird, erzeugt dies

%Vor%

Ich möchte die Ausgabe von dir direkt auf der Konsole sehen.

Ich weiß, dass ich die Ausgabe mit den Argumenten OUTPUT_VARIABLE und ERROR_VARIABLE erfassen kann. Aber das liefert das Ergebnis am Ende der Befehlsausführung.

Laut der Dokumentation sollte die Ausgabe normalerweise durch

geleitet werden
  

Wenn keine Optionen OUTPUT_ * oder ERROR_ * sind   vorausgesetzt, die Ausgabe wird geteilt mit   die entsprechenden Rohre des CMake   Prozess selbst.

Ich verwende CMake 2.8.3 unter Windows Vista     

pkit 14.03.2011, 15:17
quelle

1 Antwort

9

Versuchen Sie:

%Vor%

stattdessen. 'dir' ist ein eingebauter Shell-Befehl. 'execute_process' erwartet einen * .exe Dateinamen als erstes Argument nach COMMAND. (Oder eine im PATH verfügbare EXE.)

Wenn Sie versuchen, herauszufinden, was mit Ihrem ursprünglichen execute_process-Aufruf falsch ist ...

%Vor%

... Sie erhalten diese Ausgabe:

%Vor%

Was Sie erhalten würden, wenn Sie "dir" an den WIN32 CreateProcess-Aufruf übergeben würden.

    
DLRdave 14.03.2011, 18:34
quelle

Tags und Links