<div dir="ltr"><dt style="text-align:justify"><code class="gmail-docutils gmail-literal" style="background-color:rgb(236,240,243);padding:0px 1px"><span class="gmail-pre" style="hyphens: none;"><font color="#444444"><span style="font-size:15.2px">maybe</span></font></span></code></dt><dt style="text-align:justify"><code class="gmail-docutils gmail-literal" style="background-color:rgb(236,240,243);padding:0px 1px"><span class="gmail-pre" style="hyphens: none;"><font color="#444444"><span style="font-size:15.2px"><a href="https://cmake.org/cmake/help/v3.2/module/ExternalProject.html">https://cmake.org/cmake/help/v3.2/module/ExternalProject.html</a></span></font><br></span></code></dt><dt style="text-align:justify"><code class="gmail-docutils gmail-literal" style="background-color:rgb(236,240,243);padding:0px 1px"><span class="gmail-pre" style="hyphens: none;"><font color="#444444"><span style="font-size:15.2px"><br></span></font></span></code></dt><dt style="color:rgb(68,68,68);font-family:sans-serif;font-size:16px;text-align:justify"><code class="gmail-docutils gmail-literal" style="background-color:rgb(236,240,243);padding:0px 1px;font-size:0.95em"><span class="gmail-pre" style="hyphens: none;">BUILD_ALWAYS</span> <span class="gmail-pre" style="hyphens: none;">1</span></code></dt><dd style="margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:20.8px;color:rgb(68,68,68);font-family:sans-serif;font-size:16px">No stamp file, build step always runs</dd></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jan 12, 2018 at 7:41 PM, Saad Khattak <span dir="ltr"><<a href="mailto:saadrustam@gmail.com" target="_blank">saadrustam@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>Let's say I have several CMake enabled libraries that have their own respective build directories and have been installed:</div><div><br></div><div>LibA</div><div>LibB (depends on A)</div><div>LibC</div><div>LibD (depends on LibC and LibA)</div><div><br></div><div>I then create a new executable project ProjExe that depends on LibD. Now, I am working on LibA, LibB, LibC, LibD and ProjExe simultaneously (e.g. building up functionality in the libraries that the executable uses, fixing bugs etc.).</div><div><br></div><div>What I would like, is a way to ensure that when ProjExe is built, it first checks whether LibD is up-to-date (i.e. does it have any out of source build files?), if not, it builds LibD first. But LibD depends on LibC and LibA, and then LibD ensures that LibC and LibA are up-to-date before building itself.</div><div><br></div><div>Is something like this possible in CMake? This is similar to the 'solution' concept in Visual C++ where a 'solution' can have several projects. ProjExe in the solution can be dependent on external libraries (like the above) and they are part of the 'solution' and are checked to be up-to-date before ProjExe is compiled/linked.</div><div><br></div><div>Thanks,</div><div>Saad</div></div>
<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>
<br></blockquote></div><br></div>