I feel almost silly for asking this but I couldn't find anything on this...
Suppose I have a cmake project containing a number of targets: libraries, executables, external targets, ... . How do I list them using the cmake command line interface. I want a list of things that are valid to substitute for $target
into the following command line.
cmake . && cmake --build . --target $target
Lot's of bonus points for a solution that uses neither grep nor find nor python nor perl nor ... - you get the idea.
For Makefile generator build environments you could use
And there is the graphical output solution (example found here):
See also Generating Dependency Graphs with CMake and CMake Graphviz Output Cleaner.
If you don't have
dotty
installed, you can still make the target dependencies visible with enabling GLOBAL_DEPENDS_DEBUG_MODE in yourCMakeLists.txt
:The disadavantage here is that you can't trigger it from the command line. It will always show on
stderr
when generating the make environment.References
I think you might be looking for the command
make help
.When I run
make help
(after runningcmake ..
) I get the following output:You could also read the
Makefile
that cmake auto-generates for you.