On Tue, Jun 10, 2014 at 17:30:24 +0200, Stephen Kelly wrote: > I want to avoid having to understand all of the ParaView CMake code and that > of its dependencies, and whether python bindings need to be enabled etc.
Well, there isn't much you need to grok from the code there; it's just a project with lots of targets with lots of interdependencies. When adding compile features, the time drops noticeably. Brad, Rob, and I looked at the code and performance output today and it looks like it is the evaluation of the generator expressions made to find the compile features, compile options, and compile definitions that takes a long time. *Each* takes ~10% of overall time and the projects I'm testing don't use the interface propagation features *at all*. It's the evaluation of the generated genex that takes a long time (parsing is now inconsequential). Using debugging messages shows that the evaluations are being cached, but that probably only saves us from even more slowdowns. Brad is going to take a deeper look at it and might have more information in the next few days. > Ben, can you run your timing test with a commit before my topic and after > it? Timing tests with master and your extra topics don't tell us anything on > this question. Will do. Should be done in an hour or two. I'm using commits b56a9ae (before) and 593b69c (after): commit b56a9ae7f14189fd2bce2ca3e9441060ca231638 Merge: 593b69c 9eaf375 Author: Brad King <brad.k...@kitware.com> Date: Tue Apr 15 10:32:11 2014 -0400 Merge topic 'target_compile_features' 9eaf3755 Export: Populate INTERFACE_COMPILE_FEATURES property. 8ed59fc2 Add target_compile_features command. 4e6ca504 cmTargetPropCommandBase: Change the interface to return bool. 5412dede cmTarget: Transitively evaluate compiler features. baff4434 cmTarget: Allow populating COMPILE_FEATURES using generator expressions. f97bf437 Features: Add cxx_auto_type. 03355d6b cmTarget: Add COMPILE_FEATURES target property. faeddf64 project: Add infrastructure for recording CXX compiler features 913394af cmTarget: Add CXX_STANDARD and CXX_EXTENSION target properties. 8238a6cd Add some COMPILE_OPTIONS for specifying C++ dialect. 892243fc Tests: Require CMake 3.0 for the SystemInformation test. 59b5fdd3 Don't load Clang-CXX from AppleClang-CXX. commit 593b69c9dc9e692b198f1ddbf9251130e61a4679 Merge: 33358fd 941a140 Author: Brad King <brad.k...@kitware.com> Date: Tue Apr 15 10:22:41 2014 -0400 Merge topic 'aix-no-sstream' 941a1404 AIX: fix compilation error because of missing <sstream> --Ben -- 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: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers