On Thursday 12 March 2009, Adolfo Rodríguez wrote: > We currently use three of CMake's generators: "Unix Makefiles", > "KDevelop3", and "Eclipse CDT4 - Unix Makefiles", and we're interested in > doing parallel builds. Doing so with makefiles is trivial (make -j#), as > well as with KDevelop3 (only _one_ parameter must be edited in the build > options of the project). However Eclipse is still eluding me (I must > confess that I'm quite new to it). > My current hack is to edit individual targets and change the name of the > target from, say 'all' to '-j# all', and it works. However, I haven't found > a project-wide policy that if edited once, will affect all targets. I > cannot set the default build command, because apparently CMake generates > each target with a custom build command. > > Any clues from the CMake-Eclipse experts? > > I'm using CMake 2.6.2 and Eclipse CDT5 (not CDT4, could this be an issue?)
I don't think so. We could add some special variable, like CMAKE_MAKEFILE_PROJECT_FLAGS or CMAKE_MAKEFILE_PARALLELITY, and use this in the makefile-based generators to set the "-jx" parameter for make. But then again, this shouldn't be hardcoded in the CMakeLists.txt, so it could only be a cache variable. Or should cmake try to determine automatically how many cores there are and add "-jx" automatically ? E.g. using sysconf(_SC_NPROCESSORS_ONLN) ? This could also be disabled by default and enabled e.g. via an option like CMAKE_AUTOMATIC_PARALLEL_MAKE_INVOCATION or something like this. Alex _______________________________________________ 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
