2016-04-19 6 views
2

Ich möchte Linux verwenden, wenn Bedingung in CMakeLists.txt von add_custom_command (...) ich brauche diese Bedingungen ausführen und einige Beurteilung in Makefile. Wie folgt aus: CMake: wie zu verwenden, wenn Bedingung in add_custom_command (...)

cmake_minimum_required(VERSION 2.8) 
add_custom_target(temp_target ALL) 
add_custom_command(TARGET temp_target 
        PRE_BUILD 
        COMMAND if ["a" != "b"]; then echo 1; fi; 
        VERBATIM) 

Was soll ich tun, wenn ich

if ["a" != "b"]; then echo 1; fi; 

wenn eine Make-Datei machen verwenden? Vielen Dank für Ihre Hilfe!

+0

Wenn es nicht so funktioniert, warum versuchst du nicht, diese in einer Funktion hinzuzufügen und dann die Funktion im Befehl aufzurufen? – hedgehog

Antwort

1

können Sie angeben, einzeiligen mit Shell-Code /bin/sh -c als COMMAND Argument:

COMMAND /bin/sh -c "if [ 'a' != 'b' ]; then echo 1; fi;" 

Hinweis, dass [ eine Erweiterung der bash ist, ist es für einfache Schalen wie „Strich“ unbekannt sein kann.

+0

Vielen Dank für Ihre Antwort, aber was Sie geben scheinen, funktioniert nicht in meinem Computer. –

+0

Vielen Dank für Ihre Hilfe, es hat gut funktioniert. –

Verwandte Themen