<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:"MS Mincho";
        panose-1:2 2 6 9 4 2 5 8 3 4;}
@font-face
        {font-family:"MS Mincho";
        panose-1:2 2 6 9 4 2 5 8 3 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"\@MS Mincho";
        panose-1:2 2 6 9 4 2 5 8 3 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Arial","sans-serif";
        color:windowtext;
        font-weight:normal;
        font-style:normal;
        text-decoration:none none;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=EN-GB link=blue vlink=purple>
<div class=WordSection1>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>Hi
Ryan<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>Thanks
for your reply.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>CMakeLists.txt
always lives in the source directory I assume?<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>If
it does live with the source, is there anyway of moving the clutter of
cmake_install.cmake, CMakeFiles etc. in the source directory?<o:p></o:p></span></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:10.0pt;font-family:"Arial","sans-serif"'>David <o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'><o:p> </o:p></span></p>
<div style='border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt'>
<div>
<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'>
<p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;
font-family:"Tahoma","sans-serif"'> Ryan Pavlik [mailto:rpavlik@iastate.edu] <br>
<b>Sent:</b> 17 September 2010 13:07<br>
<b>To:</b> David Aldrich<br>
<b>Cc:</b> Chris Hillery; cmake@cmake.org<br>
<b>Subject:</b> Re: [CMake] Execution order<o:p></o:p></span></p>
</div>
</div>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>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're making lots of those _gnuRelease directories - that definitely looks
like an in-source build.) If that's a policy you want to encourage in
your organization, that'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't commit the generated makefiles to source control, they are not
machine-independent), so that's where you'd run make.<o:p></o:p></p>
<div>
<p class=MsoNormal><o:p> </o:p></p>
</div>
<div>
<p class=MsoNormal>Hope this helps!<o:p></o:p></p>
</div>
<div>
<p class=MsoNormal><o:p> </o:p></p>
</div>
<div>
<p class=MsoNormal style='margin-bottom:12.0pt'>Ryan<o:p></o:p></p>
<div>
<p class=MsoNormal>On Fri, Sep 17, 2010 at 6:24 AM, David Aldrich <<a
href="mailto:David.Aldrich@eu.nec.com">David.Aldrich@eu.nec.com</a>> wrote:<o:p></o:p></p>
<p class=MsoNormal>Hi Chris<o:p></o:p></p>
<div>
<p class=MsoNormal style='margin-bottom:12.0pt'><br>
> No, you shouldn't have to, unless you're using in-source builds<br>
> which is very strongly deprecated. Once you've gotten used to<br>
> out-of-source builds you'll never want to go back.<o:p></o:p></p>
</div>
<p class=MsoNormal>Ok, I'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 <=== .o and .a
files for Debug build<br>
|<br>
|-- _gnuRelease <=== .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 'Build' subdirectory below the source?<br>
<br>
Or, would you really like to see the build files somewhere to the side of the
source files?<o:p></o:p></p>
<div>
<div>
<p class=MsoNormal><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><o:p></o:p></p>
</div>
</div>
</div>
<p class=MsoNormal><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><o:p></o:p></p>
</div>
<p class=MsoNormal style='margin-bottom:12.0pt'><span style='background:white'><o:p> </o:p></span></p>
<p align=center style='text-align:center'><span style='background:white'>Click <a
href="https://www.mailcontrol.com/sr/sDHIg6kU9Y3TndxI!oX7UkEBkbd6cai+DXsVObJbxJ9BToqwBJZDqD0mc0MEr5X2KiXbDbOtE1JPcbrY0G8NdQ==">here</a>
to report this email as spam.<o:p></o:p></span></p>
</div>
</div>
</body>
</html>