Hi, On 18.05.2017 23:48, Robert Patterson via cmake-developers wrote:
> My company has a large, predominately C++ codebase, with hundreds of > targets, both for product and unit tests. In an effort to improve the > compile and test time for developers, which utilizes a continuous > integration infrastructure, it is desirable to compile only the targets > that are affected by developer's change sets. Erm, it should already work this way. If Make rebuilds a target that it shouldn't, the first step would be investigating why it thinks the target needs to be rebuilt. Dependency tracking is one of the oldest problems, and cmake should use an appropriate solution for the actual build system you use. The approach used for Make is a bit more conservative than you would require for GNU Make, but should nevertheless still work. http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/ is a good primer on dependency list generation with Make -- CMake generates rules that are similar to these. > 'make' has a limitation where if 'make target1 target2 target3' is > invoked, target1, target2, and target3 are built serially, not in > parallel. Which version of make are you using? Simon
signature.asc
Description: OpenPGP digital signature
-- 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