<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:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        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;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
-->
</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-US link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>This seems to work for me, too: with a few SET commands, I persuaded
CMake 2.8.1 to put all my .exe and .dll files (from one Visual Studio 2008 “solution”)
in one directory, and all my .lib files in another directory, without any “Debug”
or “Release” directory name in either path.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>BUT …<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>… and let me emphasize, BUT …<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>It also put all the .pdb and .idb files in the same directory as
the .exes and .dlls. So I now have about three times as many files in
that directory as before, making it a little harder to assess what’s
there. Moreover, for a typical library, call it xyzzy, the combined sizes
of xyzzy.pdb plus xyzzy.idb add up to about 20 times the size of xyzzy.dll in the
Release configuration—and all of that is now being dumped into that one
directory. This is really obnoxious.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>One thing you can do with one directory full of .exe and .dll
files is to copy it somewhere else—to an arbitrary directory on another
computer, for example—and run the software there. Now the transfer
time and disk storage required for this have just increased about 2000%.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>This is the main reason why I asked last year for independent
control over where the .pdb files are written (and I should have included .idb
files in that request). Actually I don’t really need to redirect the .pdb
outputs separately from all other output; I’d be happy enough (in this
case at least) if they just went to the same place as the .obj files. What I
really want is to control where the executable files—emphasis on <i>executable</i>—are
built, separately from all the other files that I don’t really need at
run time.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>David Karr<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>
<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
cmake-bounces@cmake.org [mailto:cmake-bounces@cmake.org] <b>On Behalf Of </b>Erwin
Coumans<br>
<b>Sent:</b> Monday, February 08, 2010 1:46 PM<br>
<b>To:</b> David Cole<br>
<b>Cc:</b> Brad King; cmake@cmake.org<br>
<b>Subject:</b> Re: [CMake] CMAKE_RUNTIME_OUTPUT_DIRECTORY without the
extra'Debug' or 'Release' ?<o:p></o:p></span></p>
</div>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>I'm not using SET_TARGET_PROPERTIES,<o:p></o:p></p>
<div>
<p class=MsoNormal><o:p> </o:p></p>
</div>
<div>
<p class=MsoNormal>SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG
${BULLET_PHYSICS_SOURCE_DIR})<o:p></o:p></p>
</div>
<div>
<p class=MsoNormal>SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE
${BULLET_PHYSICS_SOURCE_DIR})<o:p></o:p></p>
</div>
<div>
<p class=MsoNormal><o:p> </o:p></p>
</div>
<div>
<p class=MsoNormal>seems to work just fine for all targets with CMake 2.8.1.<o:p></o:p></p>
</div>
<div>
<p class=MsoNormal>Thanks,<o:p></o:p></p>
</div>
<div>
<p class=MsoNormal>Erwin<o:p></o:p></p>
</div>
<div>
<p class=MsoNormal style='margin-bottom:12.0pt'><o:p> </o:p></p>
<div>
<p class=MsoNormal>On 8 February 2010 10:44, David Cole <<a
href="mailto:david.cole@kitware.com">david.cole@kitware.com</a>> wrote:<o:p></o:p></p>
<p class=MsoNormal>You have to set the target property to set the directories
to something of your own choosing.<o:p></o:p></p>
<div>
<p class=MsoNormal><o:p> </o:p></p>
</div>
<div>
<p class=MsoNormal>CMake will always use Debug and Release by default for
Visual Studio and Xcode, since they are multi-configuration development
environments...<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'><o:p> </o:p></p>
<div>
<div>
<div>
<p class=MsoNormal>On Mon, Feb 8, 2010 at 1:40 PM, Erwin Coumans <<a
href="mailto:erwin.coumans@gmail.com" target="_blank">erwin.coumans@gmail.com</a>>
wrote:<o:p></o:p></p>
</div>
</div>
<blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;
margin-left:4.8pt;margin-right:0in'>
<div>
<div>
<div>
<p class=MsoNormal><o:p> </o:p></p>
</div>
<p class=MsoNormal>No, I just tried CMake 2.8.1 and it still adds 'Debug' and
'Release' directories to the name.<o:p></o:p></p>
<div>
<p class=MsoNormal><o:p> </o:p></p>
</div>
<div>
<p class=MsoNormal>Are you sure it has been fixed?<o:p></o:p></p>
</div>
<div>
<p class=MsoNormal>Thanks a lot,<o:p></o:p></p>
</div>
<div>
<p class=MsoNormal>Erwin<o:p></o:p></p>
</div>
<div>
<div>
<div>
<p class=MsoNormal style='margin-bottom:12.0pt'><o:p> </o:p></p>
<div>
<p class=MsoNormal>On 8 February 2010 05:43, Brad King <<a
href="mailto:brad.king@kitware.com" target="_blank">brad.king@kitware.com</a>>
wrote:<o:p></o:p></p>
<div>
<p class=MsoNormal style='margin-bottom:12.0pt'>Erwin Coumans wrote:<br>
><br>
> Hi,<br>
><br>
> How can we specify the actual directory where the executable ends up in<br>
> MSVC, without any messing around by adding 'Debug' or "Release'?<br>
><br>
> I tried the following lines:<br>
><br>
> SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${BULLET_PHYSICS_SOURCE_DIR})<br>
> SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${BULLET_PHYSICS_SOURCE_DIR})<br>
> SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${BULLET_PHYSICS_SOURCE_DIR})<br>
><br>
> But the generated MSVC projectfiles still add 'Debug', 'Release' to the<br>
> directory. How can this additional 'Debug' or 'Release' be removed?<o:p></o:p></p>
</div>
<p class=MsoNormal>Coincidentally this is already implemented and is going to
be in 2.8.1.<br>
<br>
<a href="http://www.cmake.org/Bug/view.php?id=9163" target="_blank">http://www.cmake.org/Bug/view.php?id=9163</a><br>
<span style='color:#888888'><br>
-Brad</span><o:p></o:p></p>
</div>
<p class=MsoNormal><o:p> </o:p></p>
</div>
</div>
</div>
<p class=MsoNormal><o:p> </o:p></p>
</div>
</div>
<p class=MsoNormal>_______________________________________________<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>
</blockquote>
</div>
<p class=MsoNormal><o:p> </o:p></p>
</div>
</div>
<p class=MsoNormal><o:p> </o:p></p>
</div>
</div>
</body>
</html>