Your build system would be independent where the output files are: the user can choose whatever build directory they want, and not be limited to _gnuDebug and _gnuRelease.  (If they so chose, they could create each of those and configure a build into them, but they are just as likely to not do so. Actually, as I look at your info again, it looks like you&#39;re making lots of those _gnuRelease directories - that definitely looks like an in-source build.)  If that&#39;s a policy you want to encourage in your organization, that&#39;s just fine, but to CMake, you should keep things relative to CMAKE_SOURCE_DIR/CMAKE_CURRENT_SOURCE_DIR and CMAKE_BINARY_DIR/CMAKE_CURRENT_BINARY_DIR.  The general guideline is to never modify or generate anything into the _SOURCE_DIR - only into the _BINARY_DIR, that way you can get back to a clean source tree by just deleting the build directory.  The makefiles generated by CMake will all be in the binary directory (and as a preemptive warning: don&#39;t commit the generated makefiles to source control, they are not machine-independent), so that&#39;s where you&#39;d run make.<div>
<br></div><div>Hope this helps!</div><div><br></div><div>Ryan<br><br><div class="gmail_quote">On Fri, Sep 17, 2010 at 6:24 AM, David Aldrich <span dir="ltr">&lt;<a href="mailto:David.Aldrich@eu.nec.com">David.Aldrich@eu.nec.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi Chris<br>
<div class="im"><br>
&gt; No, you shouldn&#39;t have to, unless you&#39;re using in-source builds<br>
&gt; which is very strongly deprecated. Once you&#39;ve gotten used to<br>
&gt; out-of-source builds you&#39;ll never want to go back.<br>
<br>
</div>Ok, I&#39;m trying to think of how this would work for us.<br>
<br>
The source for each of our libraries is in a separate subdirectory as you would expect. The subdirectory structure is:<br>
<br>
Subdir ----- .cpp files<br>
         |<br>
         |-- Makefile<br>
         |<br>
         |-- _gnuDebug      &lt;=== .o and .a files for Debug build<br>
         |<br>
         |-- _gnuRelease    &lt;=== .o and .a files for Release build<br>
<br>
Would you call that an out-of-source build, or would you require the Makefile to be in a &#39;Build&#39; subdirectory below the source?<br>
<br>
Or, would you really like to see the build files somewhere to the side of the source files?<br>
<div><div></div><div class="h5"><br>
Best regards<br>
<br>
David<br>
_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the CMake FAQ at: <a href="http://www.cmake.org/Wiki/CMake_FAQ" target="_blank">http://www.cmake.org/Wiki/CMake_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.cmake.org/mailman/listinfo/cmake" target="_blank">http://www.cmake.org/mailman/listinfo/cmake</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Ryan Pavlik<br>HCI Graduate Student<br>Virtual Reality Applications Center<br>Iowa State University<br><br><a href="mailto:rpavlik@iastate.edu">rpavlik@iastate.edu</a><br>
<a href="http://academic.cleardefinition.com">http://academic.cleardefinition.com</a><br>Internal VRAC/HCI Site: <a href="http://tinyurl.com/rpavlik">http://tinyurl.com/rpavlik</a><br>
</div>