Wie kann ich die Liste der angegebenen Ziele machen von der Kommandozeile aus?
Fühle ich mich fast dumm für diese Frage aber ich konnte nichts finden auf dieser...
Angenommen ich habe ein cmake-Projekt mit einer Reihe von Ziele: Bibliotheken, ausführbaren Dateien, externe Ziele, ... . Wie kann ich die Liste mit den cmake-Befehl-Linie Schnittstelle. Ich möchte eine Liste von Dingen, die gültig sind, um Ersatz für $target
in der folgenden Befehlszeile.
cmake . && cmake --build . --target $target
Viel bonus-Punkte für eine Lösung, die verwendet weder grep noch find noch python noch perl noch ... - Sie bekommen die Idee.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für Makefile generator-build-Umgebungen, die Sie nutzen könnten
Und es ist die graphische Ausgabe der Lösung (Beispiel gefunden hier):
Siehe auch Erzeugung von Dependency Graphen mit CMake und CMake Graphviz Ausgabe-Reiniger.
Wenn Sie nicht über
dotty
installiert ist, können Sie immer noch die target-Abhängigkeiten sichtbar mit der Aktivierung GLOBAL_DEPENDS_DEBUG_MODE in IhremCMakeLists.txt
:Den disadavantage hier ist, dass können Sie nicht, lösen Sie es von der Befehlszeile aus. Es wird immer auf
stderr
bei der Generierung der Umgebung machen.Referenzen
GLOBAL_DEPENDS_DEBUG_MODE
Globale Eigenschaft. Das wird funktionieren, ohnedotty
und auch ohne die--graphviz
Befehlszeile-option. Und - da war ich auch, es fehlt in CMake vor - ich Plane die post eine feature-Anfrage für eine--list-all-targets
Befehlszeile-option auf CMake ' s bug-tracker. Ich halte Euch auf dem Laufenden hier, wenn ich positives feedback.cmake --build . --target help
ist im Grunde das gleiche wiemake help
make
Aufruf-syntax oder die make program path. Ich habe es hier, weil es funktioniert auch mit andere "makefile-Generatoren" wienmake
,gmake
,ninja
, ...Ich denke, Sie könnten auf der Suche nach dem Befehl
make help
.Wenn ich
make help
(nach demcmake ..
) bekomme ich folgende Ausgabe:Könnte man auch Lesen das
Makefile
dass cmake automatisch für Sie generiert.