< https://github.com/jmcorgan/gnuradio/tree/fix-parallel-build >
The goal of this branch is to fix the parallel build issue that's been plaguing GNU Radio's CMake build system pretty much since day 1. The shortest explanation of this fix is that CMake has a bug in it when handling multiple generated files in a single command. This bug has been known for years in various versions, and is on the back burner for them to fix as time allows someday. My fix is to explicitly spell out to CMake the dependencies and commands to execute in order, rather than trusting CMake to do it itself. The issue manifests itself in the following way: After performing a "make -j#" to completion with #>1, doing another "make" results in a small number of SWIG-generated .cxx files being recompiled. This issue happens more reliably with higher "#"s -- about 25% of the time when using "-j8" on my Mac OS X box. I encourage anybody interested to check out this branch and give it a test using "make -j" or "make -j8" or whatever works on your system with #>1. In testing thus far, this change actually allows for -more- parallelism in builds than without it; and, it has thus far functioned flawlessly using CMake 2.6, 2.8, and 3.0. If you do testing, feel free to reply to the group or email me directly with your successes or failures. Try touching headers (.h and .i) and sources to see if rebuilding happens correctly. Thanks in advance for any feedback on this change. - MLD -- Michael Dickens, OSX Programmer Ettus Research Technical Support Email: supp...@ettus.com Web: http://www.ettus.com _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio