Eine Option, die für GNU make gilt und mit jedem Makefile funktioniert, ob von CMake generiert oder nicht, ist die Verwendung von --trace
Möglichkeit zu machen. Dadurch werden die Befehle make
ausgegeben ausführt und noch ausführt.
Dies gilt für alle Befehle, nicht nur für die VERBOSE=1
oder V=1
löst das Drucken von in CMake/automake generierten Makefiles aus.
Eine weitere Alternative unter Linux ist die Ausführung von make unter strace als strace -f -e trace=execve make <make options>
. Die Ausgabe von strace enthält every Prozess, der ausgeführt wird:von make, von einem Shell-Skript, das make ausgeführt hat, usw.
Beispielsweise stellen Sie möglicherweise fest, dass das von CMake generierte Makefile /usr/bin/cmake -E __run_co_compile <lots of options ...>
ausführt und frage mich immer noch, was die genauen Compiler-Aufrufe sind, die dieser wiederum ausführen wird. Das bekommst du mit der strace-Methode.
Ich bin mir ziemlich sicher, dass das funktionieren wird:
make VERBOSE=1
Sie sollten dies auch zu Ihrer CMakeLists.txt hinzufügen können, um Folgendes dauerhaft festzulegen:
set(CMAKE_VERBOSE_MAKEFILE on)
Dies wird in den häufig gestellten Fragen zu CMake behandelt.
Versuchen Sie für automatisch erstellte Makefiles:
make V=1