On 12/18/2012 10:29 AM, Stephen Kelly wrote: > Or we can add a way to print where include directories come from. That's > something that's been on the plans since the beginning, and some of the code > and API is already in master for it. > > More of the useful code for that was in my branch, but it's independent of > this whole command API question, so I've cherry-picked it out of there and > put it in the include-dirs-debugging branch of my clone. > > I think it's useful on its own, so I think we should get something like it > into 2.8.11. > > Note that the branch is work in progress. Currently the backtrace is not > always initialized correctly when include_directories() is used. What do > ya'll think of the idea?
Providing backtraces for debugging would be helpful for users. Here are a few comments: 1. The cmListFileBacktrace structure was originally created to pass context for error messages. IIRC it carries full strings for each level on the stack. This is pretty heavy to start keeping around for everything and we've been accumulating it in more places. We may need to "intern" strings to make backtraces lighter. 2. Properties other than INCLUDE_DIRECTORIES may benefit from this. The infrastructure could be generalized somewhat and kept directly in the property representation structures. 3. I do not like the name "CMAKE_PRINT_INCLUDE_DIR_ORIGINS" to get the debug output. We should establish a naming convention for variables that activate debugging features. Perhaps CMAKE_DEBUG_TARGET_PROPERTIES=INCLUDE_DIRECTORIES? -Brad -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers