[cmake-developers] Inquiry on contribution to NMake generator
Dear CMake devs, I have a feature that I really wish someone would implement, but because I see that nobody really wishes to act upon it, I decided I’d try myself. I would very much like to see the NMake generator finally support multicore builds by adding Batch Mode support to the generated makefiles. I have had too much trouble with the Ninja generator, and quite frankly, I’d rather use a tool that is already preinstalled in most places, as opposed to ‘yet another build tool’ (same for jom.exe) when some of my users already complain about installing CMake itself. First of all, I am an NMake newbie when it comes to actually writing/authoring scripts. Second, I am new to contributing to CMake as well. I am a seasoned C++ and GPGPU developer, so I believe I possess the neccesary skills to contribute to a project. I have also used Git before, though not in a project where I had no push rights and I needed to format proper patches (but this cannot be black magic). I have read that the need for this feature has been brought up several times: http://www.cmake.org/Bug/view.php?id=14145 http://www.cmake.org/Bug/view.php?id=2925 I have read on the CMake user mailing list, that the problem with Batch Mode support, is that it is not trivial to implement. I have looked at the NMake files in one of the feature requests linked above, and also the ones that CMake generates. The biggest difference, is that CMake tends to use A LOT of makefiles, a multi-level hierarchy of them. Could someone give me a jump start as to: What is the design of the NMake generator in CMake? What is the pourpose of having so many makefiles? What is the reason why it is not trivial to implement batch mode? Where should I start browsing the source files? I have very limited amount of ‘spare’ time, so it will most likely take a considerable amount of time for me to finish, if I will finish at all. However, I would like to try, and it were nice if the community could lend a hand at me getting at it. Cheers, Máté-- 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/mailman/listinfo/cmake-developers
Re: [CMake] FindModules.cmake quality + Kitware proposition
Tried jom years ago. Still chokes on Unicode paths. Thanks, Máté ps.: I had a feeling this is as much feedback as I’ll get. Feladó: Stephen Kelly Elküldve: csütörtök, 2015. május 14. 18:08 Címzett: cmake@cmake.org Nagy-Egri Máté Ferenc via CMake wrote: ... NMake batch mode support for multicore build, etc. I suggest you look into 'jom'. Thanks, Steve. -- 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/mailman/listinfo/cmake-- 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/mailman/listinfo/cmake
Re: [CMake] EXCLUDE_FROM_DEFAULT_BUILD: a solution that works for both interactive and unattended builds
I am also interested in this. Not because I couldn’t do 2 seperate build directories for CLI and IDE building, but because VS projects are still the best shot at getting parallel builds on Windows. NMake batch support is not implemented, and Ninja has never built any of my projects without errors. Feladó: Alessio Elküldve: kedd, 2015. május 12. 13:28 Címzett: cmake@cmake.org Hi All (similar questions have been asked before, but none has quite hit the mark) Is there any way to force MSVC to build custom targets marked with EXCLUDE_FROM_DEFAULT_BUILD? Using cmake --build . --target SOME_EXCLUDED_TARGET --config Release will produce the well known message Project not selected to build for this solution configuration I could find the following two ways to get the targets to build, but they all have drawbacks: Use a BATCH_BUILD variable that will disable the setting of EXCLUDE_FROM_DEFAULT_BUILD on the targets. Define a set of build configurations on which EXCLUDE_FROM_DEFAULT_BUILD_config is not set (e.g. Release_ALL is identical to Release, except it has no build exclusions) Option 1 has the drawback of producing solutions that do not work well for interactive development Option 2 is rather cumbersome and would require the users to build separate sets of binaries. I could not quite figure out a way to make the Release_ALL packaging commands reference the Release target binaries. Has anyone figured out a way to get the full monty, i.e. a way to generate an MSVC solution that works well for both interactive and command line builds? Thank you so much for any feedback you can provide on this -alessio-- 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/mailman/listinfo/cmake