Tree-like trace of add_subdirectory & include?

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Tree-like trace of add_subdirectory & include?

Johan Holmberg
Hi!
I'm trying to understand a large project built with CMake, and think it would be very helpful to get a view of which CMake-file "calls" which other CMake-file. I'm interested in the chain of calls using "add_subdirectory" and "include".

I have looked at the options "--debug-output" and "--trace", but they only give a "flat" view of the call graph. And reconstructing a tree-like representation from that info seems non-trivial to me.

I'm hoping to get something like this (I hope the intended indentation can be seen):

CMakeLists.txt
.... MyMacros/Setup.cmake
.... .... MyMacros/OtherStuff.cmake
.... lib1/CMakeLists.txt
.... lib2/CMakeLists.txt
.... Misc/CMakeLists.txt
.... .... prog_a/CMakeLists.txt
.... .... prog_b/CMakeLists.txt
.... foo/CMakeLists.txt

Is there some way to accomplish this, or something similar?

/Johan Holmberg


--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: Tree-like trace of add_subdirectory & include?

Deij-van Rijswijk, Menno

Hi Johan,

 

Have you tried the trace mode of CMake? I got reasonably useful results with

 

cmake [path] [options] --trace 2>&1 | grep subdirectory

 

Gr,

Menno

 

From: CMake <[hidden email]> On Behalf Of Johan Holmberg
Sent: Wednesday, August 14, 2019 11:30 AM
To: [hidden email]
Subject: [CMake] Tree-like trace of add_subdirectory & include?

 

Hi!

I'm trying to understand a large project built with CMake, and think it would be very helpful to get a view of which CMake-file "calls" which other CMake-file. I'm interested in the chain of calls using "add_subdirectory" and "include".

 

I have looked at the options "--debug-output" and "--trace", but they only give a "flat" view of the call graph. And reconstructing a tree-like representation from that info seems non-trivial to me.

 

I'm hoping to get something like this (I hope the intended indentation can be seen):

 

CMakeLists.txt

.... MyMacros/Setup.cmake

.... .... MyMacros/OtherStuff.cmake

.... lib1/CMakeLists.txt

.... lib2/CMakeLists.txt

.... Misc/CMakeLists.txt

.... .... prog_a/CMakeLists.txt

.... .... prog_b/CMakeLists.txt

.... foo/CMakeLists.txt

 

Is there some way to accomplish this, or something similar?

 

/Johan Holmberg

 

 

Help us improve the spam filter. If this message contains SPAM, click here to report. Thank you, MARIN Support Group


dr. ir. Menno A. Deij-van Rijswijk | Researcher | Research & Development
MARIN | T +31 317 49 35 06 | [hidden email] | www.marin.nl

LinkedIn YouTube Twitter Facebook
MARIN news: Alternative fuels and power systems for support vessels


--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake