Making CMake print commands before executing

DarenW picture DarenW · Jan 26, 2011 · Viewed 30.3k times · Source

I'm working on a large C++ project built with CMake on Linux. CMake runs okay, producing a horde of Makefiles in the tree of modules and applications. Running GNU make leads to linker errors. How can I get make to print out the exact commands before running them?

The -d option does not print the commands, but plenty of information that hasn't been helpful.

The -n option prints all the commands, but does not run them, so I can't tell were exactly the trouble is. Examining the stdout from make -n, I don't see any commands that are relevant. I suspect some commands change depending on the results of earlier commands, and the hierarchy of Makefiles makes it difficult to tell what's really going on.

I don't see any other options in make's man page that seem helpful.

Answer

Bill Lynch picture Bill Lynch · Jan 26, 2011

I am fairly sure this will work:

make VERBOSE=1

You should also be able to add this to your CMakeLists.txt to permanently set that:

set(CMAKE_VERBOSE_MAKEFILE on)

This is covered in the CMake FAQ.