Hi Jean-Christophe, Thanks for the suggestion. We'll definitely consider it.
-- Volo Zyko On Thu, Apr 25, 2013 at 12:23 AM, Jean-Christophe Fillion-Robin < [email protected]> wrote: > Hi Volo, > > If you are doing some topological sorting to build your library/executable > in the right order. Instead of using CMake based solution, you could may be > rely on a C++ approach ? This is what we are doing in CTK. We are using a > small prog named ctkDependencyGraph that we build at configure time. > See [1-4] > > [1] > http://www.commontk.org/index.php/Documentation/BuildSystem_Description > [2] https://github.com/commontk/CTK/blob/master/CMakeLists.txt#L691-717 > [3] > https://github.com/commontk/CTK/blob/master/CMake/ctkFunctionGenerateDGraphInput.cmake > [4] > https://github.com/commontk/CTK/blob/master/CMake/ctkMacroValidateBuildOptions.cmake#L127-150 > > > > On Wed, Apr 24, 2013 at 5:13 PM, Volo Zyko <[email protected]> wrote: > >> We have executables and libraries and a lot of custom targets (the >> project is organized so that we export headers during the build - not the >> best idea in the world). However, I finished (more or less) the script for >> building time stats from the cmake's trace and we (with my colleague) found >> the slowest part. In our cmake scripts we have a bunch of sub-projects >> which produce libraries and also we have an utility function with which we >> define dependencies between those sub-projects. Then we define executables >> and build a list of libraries in a right order (from more dependent to less >> dependent) using sub-project's dependencies. This list is necessary for >> linking the executables. So, it appears that the slowest part is the >> function that builds the list of libraries. Basically there is nothing >> wrong with that cmake function, it just intensively works with strings. :( >> >> And here is where I put my script: >> https://code.google.com/p/cmake-profile-stats/ Comments are welcome. >> >> Also it looks like there are few bugs in the trace functionality of >> cmake; especially how callstack changes when cmake process foreach and >> if/else calls. I just didn't investigate them and I cannot provide more >> details. Sorry. >> >> -- >> Volo Zyko >> >> On Wed, Apr 24, 2013 at 10:14 PM, Bill Hoffman >> <[email protected]>wrote: >> >>> On 4/24/2013 3:07 PM, Volo Zyko wrote: >>> >>>> Hi, >>>> >>>> We use Makefiles on Linux and MacOS. Windows is not our target platform. >>>> From what we see Linux is the fastest. We made few attempts of building >>>> our project on Windows in VS but it was very-very slow and definitely >>>> cmake generates too many project files for VS. For us it was 500+ >>>> projects in a workspace which is too much for Visual Studio. :( >>>> >>> Chances are you have too many high level targets in your project. What >>> types of targets do you have? Are they all executables and libraries or >>> are you using custom targets to do something? That might be a source of >>> your performance issues as well. >>> >>> -Bill >>> >>> >>> -- >>> Bill Hoffman >>> Kitware, Inc. >>> 28 Corporate Drive >>> Clifton Park, NY 12065 >>> [email protected] >>> http://www.kitware.com >>> 518 881-4905 (Direct) >>> 518 371-3971 x105 >>> Fax (518) 371-4573 >>> >>> -- >>> >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at http://www.kitware.com/** >>> opensource/opensource.html<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<http://www.cmake.org/Wiki/CMake_FAQ> >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.cmake.org/mailman/**listinfo/cmake<http://www.cmake.org/mailman/listinfo/cmake> >>> >> >> >> -- >> >> 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://www.cmake.org/mailman/listinfo/cmake >> > > > > -- > +1 919 869 8849 >
-- 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://www.cmake.org/mailman/listinfo/cmake
