Mit cmake-variable in execute_process Befehl in der cmake-Datei

Ich bin mit execute_process() Funktion in cmake.

message(" FLAGS = ${FLAGS}")
message(" SCATTERFILE = ${SCATTERFILE}")
set ( EXECUTE_COMMAND "arm-none-eabi-gcc ${FLAGS}  -E -P -x c-header ${SCATTERFILE} -o ~/ttt.ld" )
message("EXECUTE_COMMAND = ${EXECUTE_COMMAND}")
execute_process(COMMAND  ${EXECUTE_COMMAND} RESULT_VARIABLE rv )

Alles wird perfekt angezeigt als Ergebnis message() Befehl, aber es führt zu Fehlern beim ausführen während der Analyse cmake. Ich denke, die FLAGS variable dehnt sich nicht wie erwartet während der Analyse. Wenn ich das gleiche EXECUTE_COMMAND angezeigt wird, und ein Ergebnis von message Befehl im terminal es läuft perfekt. was könnte das Problem sein ?

Bearbeiten:
Ich habe entfernt ${FLAGS} aus

set ( EXECUTE_COMMAND "arm-none-eabi-gcc ${FLAGS}  -E -P -x c-header ${SCATTERFILE} -o ~/ttt.ld" )`

jetzt bin ich mit

set ( EXECUTE_COMMAND "arm-none-eabi-gcc   -E -P -x c-header ${SCATTERFILE} " )

Ausgabe:

EXECUTE_COMMAND arm-none-eabi-gcc   -E -P -x c-header ~/scatterFile.scatter rv: No such File or directory. 

Wenn ich geben Sie einfach diesen Befehl auf dem terminal,

arm-none-eabi-gcc -E -P -x-c-header ~/scatterFile.scatter

führt und gibt die erwarteten Ergebnisse.

Wer meldet einen Fehler? CMake oder der ausgeführte Prozess? Bitte geben Sie die Ausgabe Ihres CMake ausgeführt
der Prozess ausgeführt
Also bitte geben Sie den relevanten Teil der CMake-Ausgang (einschließlich der MESSAGE Ausgabe und der Fehlermeldung)
Die tilde wird erweitert durch die shell. Es ist nicht ein Gültiger Dateiname für cmake.

InformationsquelleAutor theadnangondal | 2015-01-20

Schreibe einen Kommentar