Brad King wrote: > On 12/18/2012 10:29 AM, Stephen Kelly wrote: >> 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.
I didn't look into the implementation of it yet. By 'intern', you mean storing const char * instead of std::string with the cmListFileBacktrace object, and maintaining the strings elsewhere (globally?)? > > 2. Properties other than INCLUDE_DIRECTORIES may benefit from this. > The infrastructure could be generalized somewhat and kept directly > in the property representation structures. Yes. Do you have any idea of what you'd like to see generalized? The interception and struct for handling the INCLUDE_DIRECTORIES property itself? > > 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. Yes. It's not a great name. > Perhaps > CMAKE_DEBUG_TARGET_PROPERTIES=INCLUDE_DIRECTORIES? Do you mean set(CMAKE_DEBUG_TARGET_PROPERTIES INCLUDE_DIRECTORIES) ? That would be fine if the arg can be a list. set(CMAKE_DEBUG_TARGET_PROPERTIES "INCLUDE_DIRECTORIES;COMPILE_DEFINITIONS" ) but then I don't think it's much better than: set(CMAKE_DEBUG_TARGET_INCLUDE_DIRECTORIES ON) set(CMAKE_DEBUG_TARGET_COMPILE_DEFINITIONS ON) Thanks for the feedback, Steve. -- 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