I can finally give a good concrete case where I might need to do this (or need some other very clever solution).<br><br>I have created a distcheck command for BRL-CAD that has a lot of responsibilities, including doing a complete configure and build of BRL-CAD from a source archive expanded from a CPack tarball.  The distcheck rule uses cmake to fire off the build (this is to try and be future proof against using other tools than Make to do a distcheck) but I need to pass the parallel build setting -j from Make down to the ${CMAKE_COMMAND} build launched by the distcheck rule, and there doesn&#39;t seem to be any way to do it.<br>
<br>This is the subset of the distcheck rule (somewhat edited for clarity):<br><br>   ADD_CUSTOM_TARGET(distcheck<br>      COMMAND ${CMAKE_COMMAND} -E echo &quot;Stage 1:  Create source tgz, tbz2 and zip archives from toplevel archive.&quot;<br>
      COMMAND cpack --config ${CMAKE_CURRENT_BINARY_DIR}/CPackSourceConfig.cmake<br>      COMMAND ${CMAKE_COMMAND} -E echo &quot;Stage 2:  Expand tgz archive and prepare to build from archive sources.&quot;<br>      COMMAND ${CMAKE_COMMAND} -E tar xvzf ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.gz<br>
      COMMAND ${CMAKE_COMMAND} -E make_directory _${CPACK_SOURCE_PACKAGE_FILE_NAME}-build<br>      COMMAND ${CMAKE_COMMAND} -E make_directory _${CPACK_SOURCE_PACKAGE_FILE_NAME}-install<br>      COMMAND ${CMAKE_COMMAND} -E chdir _${CPACK_SOURCE_PACKAGE_FILE_NAME}-build ${CMAKE_COMMAND} ../${CPACK_SOURCE_PACKAGE_FILE_NAME} -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/_${CPACK_SOURCE_PACKAGE_FILE_NAME}-install<br>
      COMMAND ${CMAKE_COMMAND} -E echo &quot;Stage 3:  Compile using source from tgz archive.&quot;<br>      COMMAND ${CMAKE_COMMAND} --build _${CPACK_SOURCE_PACKAGE_FILE_NAME}-build<br>      )<br><br>This can be successfully fired off by &quot;make distcheck&quot;, which is the desired behavior.  However, the --build option doesn&#39;t respect (naturally) any -jN options fed to make, since they aren&#39;t specified at CMake time when the distcheck Makefile target is being generated.  <br>
<br>Perversely enough, if I&#39;m understanding the issue correctly I won&#39;t be able to use the -jN value itself in any case, even if the Makefile can be taught to do something smart: <a href="http://old.nabble.com/MAKEFLAGS-var-does-not-show-%22-j%22-param-----td15983337.html">http://old.nabble.com/MAKEFLAGS-var-does-not-show-%22-j%22-param-----td15983337.html</a><br>
<br>The best idea I can come up with so far is for the CMake generated Makefile to write out a variable containing some CPU related variable (e.g. make CPUS=8 and write the value of $(CPUS) to CMakeFiles/make_cpu_flag or some such) and then convert the distcheck commands above into a series of EXECUTE_PROCESS lines in a rundistcheck.cmake file that is launched by the distcheck rule with a ${CMAKE_COMMAND}.  In rundistcheck.cmake, I can check for the presence of the make_cpu_flag file and if found add the -j parallel flag to the --build line before running it.  That will mean a parallel distcheck will have to use a different make syntax than the standard make -j, but at least it would be something.  Unfortunately, that means I still need the Makefile to let me know what was passed in up front, which means tweaking the CMake generated output somehow (not really sure how yet).<br>
<br>Does anybody else have a mechanism for passing parallel build instructions from make down to child ${CMAKE_COMMAND} --build instances?<br><br>Cheers,<br>CY<br><br><br><div class="gmail_quote">On Wed, Feb 2, 2011 at 4:32 PM, Michael Hertling <span dir="ltr">&lt;<a href="mailto:mhertling@online.de">mhertling@online.de</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div></div><div class="h5">On 02/02/2011 03:34 PM, Clifford Yapp wrote:<br>
&gt; Is there any way to customize the Makefile output from CMake to<br>
&gt; include user-defined lines (say, something like &quot;#include<br>
&gt; Makefile.inc&quot;) at the end of each Make file?<br>
</div></div></blockquote><div><br> [snip]<br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">However, this approach is neither portable nor clean<br>

nor &lt;your-expectation-here&gt;, so I would ask Eric&#39;s questions, too. ;)<br>
<br>
Regards,<br>
<br>
Michael<br></blockquote></div><br>