<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 14 (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:11.0pt;
        font-family:"Calibri","sans-serif";}
h1
        {mso-style-priority:9;
        mso-style-link:"Heading 1 Char";
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:24.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.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.Heading1Char
        {mso-style-name:"Heading 1 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 1";
        font-family:"Times New Roman","serif";
        font-weight:bold;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
span.EmailStyle21
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle22
        {mso-style-type:personal;
        font-family:"Arial","sans-serif";
        color:#7F7F7F;
        font-weight:bold;
        font-style:normal;
        text-decoration:none none;}
span.EmailStyle23
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle24
        {mso-style-type:personal;
        font-family:"Arial","sans-serif";
        color:#7F7F7F;
        font-weight:bold;
        font-style:normal;
        text-decoration:none none;}
span.EmailStyle25
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle26
        {mso-style-type:personal-reply;
        font-family:"Arial","sans-serif";
        color:#7F7F7F;
        font-weight:bold;
        font-style:normal;
        text-decoration:none none;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:955603772;
        mso-list-type:hybrid;
        mso-list-template-ids:686041476 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-text:"%1\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></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=WordSection1><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#7F7F7F'>Ah, that makes sense.&nbsp; Wonder how hard it would be to add a Pseudo-target to CMake for the targets it will build, and allow the scripts to set some properties on them which would be imported later as they are created&#8230;<o:p></o:p></span></b></p><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#7F7F7F'><o:p>&nbsp;</o:p></span></b></p><div><p class=MsoNormal><b><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#666666'>Aaron Meadows</span></b><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#666666'><o:p></o:p></span></p></div><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#7F7F7F'><o:p>&nbsp;</o:p></span></b></p><div><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"'> david_bjornbak@agilent.com [mailto:david_bjornbak@agilent.com] <br><b>Sent:</b> Wednesday, February 08, 2012 10:14 AM<br><b>To:</b> Meadows, Aaron C.; cmake@cmake.org<br><b>Subject:</b> RE: [CMake] Under Visual Studio , allow developers to hit &quot;F7&quot; to run the INSTALL target<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal><span style='color:#1F497D'>I&#8217;ve tried similar techniques with ADD_DEPENDENCIES to ALL_BUILD and the trouble with this,&nbsp; within a single project these targets are not generated yet and you would have to change CMake&#8217;s C++ code to change this type of behavior.<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>CMake Error at CMakeLists.txt:231 (set_target_properties):<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>&nbsp; set_target_properties Can not find target to add properties to: INSTALL<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>You might be able to export the target but, I don&#8217;t believe you can export and import INSTALL and ALL_BUILD targets in a reasonable manner.<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><div><p class=MsoNormal><span style='color:#1F497D'>++David-&gt;Bjornbak;<o:p></o:p></span></p></div><p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><div><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"'> <a href="mailto:aaron.meadows@thomsonreuters.com">aaron.meadows@thomsonreuters.com</a> <a href="mailto:[mailto:aaron.meadows@thomsonreuters.com]">[mailto:aaron.meadows@thomsonreuters.com]</a> <br><b>Sent:</b> Wednesday, February 08, 2012 7:55 AM<br><b>To:</b> BJORNBAK,DAVID (A-Sonoma,ex1); <a href="mailto:cmake@cmake.org">cmake@cmake.org</a><br><b>Subject:</b> RE: [CMake] Under Visual Studio , allow developers to hit &quot;F7&quot; to run the INSTALL target<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#7F7F7F'>I wonder if you could do something like:<br>&nbsp; <o:p></o:p></span></b></p><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#7F7F7F'>&nbsp;&nbsp;set_target_properties(INSTALL PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD 0 )<o:p></o:p></span></b></p><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#7F7F7F'><o:p>&nbsp;</o:p></span></b></p><div><p class=MsoNormal><b><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#666666'>Aaron Meadows</span></b><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#666666'><o:p></o:p></span></p></div><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#7F7F7F'><o:p>&nbsp;</o:p></span></b></p><div><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"'> <a href="mailto:david_bjornbak@agilent.com">david_bjornbak@agilent.com</a> <a href="mailto:[mailto:david_bjornbak@agilent.com]">[mailto:david_bjornbak@agilent.com]</a> <br><b>Sent:</b> Wednesday, February 08, 2012 9:44 AM<br><b>To:</b> Meadows, Aaron C.; <a href="mailto:cmake@cmake.org">cmake@cmake.org</a><br><b>Subject:</b> RE: [CMake] Under Visual Studio , allow developers to hit &quot;F7&quot; to run the INSTALL target<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:black'>What I&#8217;m asking &nbsp;for is 1) or &#8220;Can you set things up so that F7 does a full build and then automatically does the INSTALL target build?&#8221;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:black'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:black'>Developers in my team have expressed a need to hit F7 during they&#8217;re day to day work and the resulting being the INSTALL target.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:black'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:black'>This is not a general change I would adopt for our automated build processes and I can see the need for an individual developer using Visual Studio having this functionality e.g. hit F7 and have the INSTALL target fire off.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:black'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:black'>A post build step appears to be the only present option for this request.&nbsp; The other alternative is to alter CMake&#8217;s C++ code and change the dependency and behavior or the generator for Visual Studio.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:black'><o:p>&nbsp;</o:p></span></p><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:black'>++David-&gt;Bjornbak;<o:p></o:p></span></p></div><p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><div><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"'> <a href="mailto:aaron.meadows@thomsonreuters.com">aaron.meadows@thomsonreuters.com</a> <a href="mailto:[mailto:aaron.meadows@thomsonreuters.com]">[mailto:aaron.meadows@thomsonreuters.com]</a> <br><b>Sent:</b> Wednesday, February 08, 2012 7:33 AM<br><b>To:</b> BJORNBAK,DAVID (A-Sonoma,ex1); <a href="mailto:cmake@cmake.org">cmake@cmake.org</a><br><b>Subject:</b> RE: [CMake] Under Visual Studio , allow developers to hit &quot;F7&quot; to run the INSTALL target<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#7F7F7F'>I had a hard time following these questions.&nbsp; It sounds like you&#8217;re asking the following:<o:p></o:p></span></b></p><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#7F7F7F'><o:p>&nbsp;</o:p></span></b></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#7F7F7F'><span style='mso-list:Ignore'>1)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></b><![endif]><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#7F7F7F'>Can you set things up so that F7 does a full build and then automatically does the INSTALL target build?<o:p></o:p></span></b></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#7F7F7F'><span style='mso-list:Ignore'>2)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></b><![endif]><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#7F7F7F'>Can you set things up so that you can build a sub project and have it install just that sub project automatically?<o:p></o:p></span></b></p><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#7F7F7F'><o:p>&nbsp;</o:p></span></b></p><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#7F7F7F'>Assuming those are your questions, I&#8217;m guessing there isn&#8217;t a good way to do that automatically.&nbsp; Barring any better suggestions from more experienced CMaketeers, I would probably look into creating a function that adds a post build step to a project which will perform the installation of the project.&nbsp; Then doing a build all would cause each project to individually build and install, and building a single subproject would cause that subproject to build and install (thus solving 1 and 2 together).&nbsp; That doesn&#8217;t seem ideal (certainly, I wouldn&#8217;t want my build to automatically install all the time, which is probably why the INSTALL project is excluded by default.).&nbsp; Depending on what you are doing, you might want that auto install behavior to only be tied to a &#8220;Release&#8221; build, or possibly introduce and &#8220;Release and Install&#8221; that does both.<o:p></o:p></span></b></p><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#7F7F7F'><o:p>&nbsp;</o:p></span></b></p><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#7F7F7F'><o:p>&nbsp;</o:p></span></b></p><div><p class=MsoNormal><b><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#666666'>Aaron Meadows</span></b><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#666666'><o:p></o:p></span></p></div><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#7F7F7F'><o:p>&nbsp;</o:p></span></b></p><div><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"'> <a href="mailto:cmake-bounces@cmake.org">cmake-bounces@cmake.org</a> <a href="mailto:[mailto:cmake-bounces@cmake.org]">[mailto:cmake-bounces@cmake.org]</a> <b>On Behalf Of </b><a href="mailto:david_bjornbak@agilent.com">david_bjornbak@agilent.com</a><br><b>Sent:</b> Tuesday, February 07, 2012 1:48 PM<br><b>To:</b> <a href="mailto:cmake@cmake.org">cmake@cmake.org</a><br><b>Subject:</b> [CMake] Under Visual Studio , allow developers to hit &quot;F7&quot; to run the INSTALL target<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>Developers on our team have found issues with the difference between &#8220;INSTALL&#8221; and the default build or &#8220;F7&#8221; build all under Visual Studio.&nbsp; My question is, there&#8217;s a reasonable way to configure cmake or Visual Studio to run the INSTALL target when you hit &#8220;F7&#8221; or use the default &#8220;Build Solution&#8221; functionality to run INSTALL.<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>We&#8217;re working a fairly large project and the default setting of having INSTALL dependent on ALL or separating out the two targets makes sense when you&#8217;re building the entire project.<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>However, we allow developers to build sub projects and it makes sense if these sub project just install quickly into a larger pre-built installation directory.&nbsp; The confusion currently is, they run ALL_BUILD or &#8220;F7&#8221; and the build finishes and they forget to run &#8220;INSTALL&#8221;.&nbsp;&nbsp;&nbsp; Particularly we, had developers that worked formally on smaller non-Cmake Visual Studio projects and not Linux so, they&#8217;re not used to the make all and then make install defacto standard.<o:p></o:p></p><h1 style='background:white'><span style='font-size:11.0pt;font-weight:normal'>This request is similar as the following on &#8220;<span style='color:black'>Selecting INSTALL target in Visual Studio Configuration by default&#8221;&nbsp; but, I wanted to see if anyone had any other suggestions on this topic.</span></span><span style='font-size:26.0pt'><o:p></o:p></span></h1><p class=MsoNormal><a href="http://www.cmake.org/pipermail/cmake/2011-April/044025.html">http://www.cmake.org/pipermail/cmake/2011-April/044025.html</a><o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>++David-&gt;Bjornbak;<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'><br>This email was sent to you by Thomson Reuters, the global news and information company. Any views expressed in this message are those of the individual sender, except where the sender specifically states them to be the views of Thomson Reuters.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'><br>This email was sent to you by Thomson Reuters, the global news and information company. Any views expressed in this message are those of the individual sender, except where the sender specifically states them to be the views of Thomson Reuters.<o:p></o:p></span></p></div></body></html><br>
This email was sent to you by Thomson Reuters, the global news and information company. Any views expressed in this message are those of the individual sender, except where the sender specifically states them to be the views of Thomson Reuters.