<div dir="ltr">Take a look at job pools which are implemented in ninja.  <div><br></div><div>You should be able to setup 2 pools and put the expensive target in one pool and the rest in the other, which should give you the desired behavior.<div><br></div><div>  <a href="https://cmake.org/cmake/help/latest/prop_gbl/JOB_POOLS.html">https://cmake.org/cmake/help/latest/prop_gbl/JOB_POOLS.html</a><br></div><div>  <a href="https://ninja-build.org/manual.html#ref_pool">https://ninja-build.org/manual.html#ref_pool</a><br></div><div><br></div><div>hth...</div><div>don</div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Dec 28, 2017 at 2:49 PM, Michael Jackson <span dir="ltr"><<a href="mailto:mike.jackson@bluequartz.net" target="_blank">mike.jackson@bluequartz.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">My current project builds a bunch (30) different plugins that do NOT depend on each other. One of those plugins has about 200 files of highly templated C++ code to build which takes a while to compile and link. Meanwhile the other plugins only have about 20-40 files of "run-of-the-mill" c++ codes which all compile in a reasonably fast time. Is there a way to give a hint to CMake or the build system (Ninja or Visual Studio) to start the build of that target before the others? I know about the set target dependencies which in a way would solve the problem but I would hate to use that since there isn't an actual dependency and it really wouldn't work anyways. The link time for this large plugin is on the order of minutes on a FAST machine (Core i7 8700k overclocked).<br>
<br>
Are the targets treated in lexographical order perhaps if there are no dependencies? I would definintely consider renaming the plugin if that meant it would kick off earlier.<br>
<br>
Any suggestions would be great.<br>
<br>
--<br>
Michael Jackson | Owner, President<br>
      BlueQuartz Software<br>
[e] <a href="mailto:mike.jackson@bluequartz.net">mike.jackson@bluequartz.net</a><br>
[w] <a href="http://www.bluequartz.net" rel="noreferrer" target="_blank">www.bluequartz.net</a><br>
<br>
<br>
--<br>
<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Please keep messages on-topic and check the CMake FAQ at: <a href="http://www.cmake.org/Wiki/CMake_FAQ" rel="noreferrer" target="_blank">http://www.cmake.org/Wiki/<wbr>CMake_FAQ</a><br>
<br>
Kitware offers various services to support the CMake community. For more information on each offering, please visit:<br>
<br>
CMake Support: <a href="http://cmake.org/cmake/help/support.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/<wbr>support.html</a><br>
CMake Consulting: <a href="http://cmake.org/cmake/help/consulting.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/<wbr>consulting.html</a><br>
CMake Training Courses: <a href="http://cmake.org/cmake/help/training.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/<wbr>training.html</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/<wbr>opensource/opensource.html</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="https://cmake.org/mailman/listinfo/cmake" rel="noreferrer" target="_blank">https://cmake.org/mailman/<wbr>listinfo/cmake</a><br>
</blockquote></div><br></div></div></div>