I have created a feature request for this here:<div><a href="http://public.kitware.com/Bug/view.php?id=13122">http://public.kitware.com/Bug/view.php?id=13122</a> </div><div><br><div class="gmail_quote">On Mon, Apr 9, 2012 at 1:45 PM, Robert Dailey <span dir="ltr">&lt;<a href="mailto:rcdailey.lists@gmail.com">rcdailey.lists@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">A lot of people on my team do not want to open the &quot;global&quot; project though. It includes everything, even the parts they don&#39;t want to build. Mostly it&#39;s a clutter issue, I think. For example, there may be 200 projects but they only care about 100 of those (all dependencies included). The other 100 are usually DLL/executable projects for another team that shares the same scripts for their own projects.<div class="HOEnZb">
<div class="h5"><br>
<br><div class="gmail_quote">On Mon, Apr 9, 2012 at 11:52 AM, Michael Jackson <span dir="ltr">&lt;<a href="mailto:mike.jackson@bluequartz.net" target="_blank">mike.jackson@bluequartz.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Is it possible for you to add a &quot;project(...)&quot; command in your most outer CMakeLists.txt file? I do this all the time where I have a project that has lots of sub-projects like yours, even git-submodules, and I have a single .sln file that has ALL the various projects that CMake has found.<br>


<br>
---<br>
Mike Jackson                 <a href="http://www.bluequartz.net" target="_blank">www.bluequartz.net</a><br>
<div><div><br>
On Apr 5, 2012, at 11:31 AM, Robert Dailey wrote:<br>
<br>
&gt; Thanks for the help guys.<br>
&gt;<br>
&gt; I didn&#39;t realize it would be relevant, but I guess the order in which I call things matters. For example, ignoring the directory structure I use, the general order of my commands are as follows:<br>
&gt;<br>
&gt; # This is done in the Root CMakeLists.txt<br>
&gt; add_custom_target( Foo ... )<br>
&gt;<br>
&gt; # Several nested subdirectories down...<br>
&gt; project( Bar )<br>
&gt; add_executable( Bar )<br>
&gt;<br>
&gt; I guess this order has an affect? I assume all of the add_*() commands need to occur *after* the project() call to be implicitly added to that solution. Unfortunately my structure cannot change, so that&#39;s why I was trying to use dependencies to get the job done.<br>


&gt;<br>
&gt;<br>
&gt; On Thu, Apr 5, 2012 at 8:58 AM, David Cole &lt;<a href="mailto:david.cole@kitware.com" target="_blank">david.cole@kitware.com</a>&gt; wrote:<br>
&gt; This all assumes everything is in the same CMakeLists.txt.<br>
&gt;<br>
&gt; I suspect since Robert is not already seeing the proper behavior that<br>
&gt; he has complex cross-directory target and library distribution, but<br>
&gt; wants to see them all in the sub-directory sln files, too... (maybe?)<br>
&gt;<br>
&gt;<br>
&gt; On Wed, Apr 4, 2012 at 9:48 PM, Fraser Hutchison<br>
&gt; &lt;<a href="mailto:fraser.hutchison@gmail.com" target="_blank">fraser.hutchison@gmail.com</a>&gt; wrote:<br>
&gt; &gt; David&#39;s original answer does what you require.<br>
&gt; &gt;<br>
&gt; &gt; Simply include add_custom_target(Foo ...) and don&#39;t include<br>
&gt; &gt; add_dependencies(Bar Foo).<br>
&gt; &gt;<br>
&gt; &gt; If your project is also called Bar, then Bar.sln will include Foo.vcproj and<br>
&gt; &gt; Bar.vcproj, but Foo will not be built when invoking &quot;Build Solution&quot;.<br>
&gt; &gt;<br>
&gt; &gt; Cheers,<br>
&gt; &gt;<br>
&gt; &gt; Fraser.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; On 04/04/2012 21:33, Robert Dailey wrote:<br>
&gt; &gt;<br>
&gt; &gt; Sorry I think we are not on the same page.<br>
&gt; &gt;<br>
&gt; &gt; My custom target is: &quot;Foo&quot;<br>
&gt; &gt; My C++ executable target is: &quot;Bar&quot;<br>
&gt; &gt;<br>
&gt; &gt; I don&#39;t want Bar depend on Foo, because I do not want Foo&#39;s commands to<br>
&gt; &gt; execute when I build Bar. However, because Bar does not depend on Foo,<br>
&gt; &gt; Foo.vcproj will not be part of Bar.sln. I need a way to make sure that<br>
&gt; &gt; Foo.vcproj opens with Bar.sln without creating that dependency.<br>
&gt; &gt;<br>
&gt; &gt; I hope this makes a little more sense.<br>
&gt; &gt;<br>
&gt; &gt; On Wed, Apr 4, 2012 at 2:01 PM, David Cole &lt;<a href="mailto:david.cole@kitware.com" target="_blank">david.cole@kitware.com</a>&gt; wrote:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Your original message said you didn&#39;t want to make it a dependency.<br>
&gt; &gt;&gt; So, why then use &quot;add_dependencies&quot; ...?<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; On Wed, Apr 4, 2012 at 3:00 PM, David Cole &lt;<a href="mailto:david.cole@kitware.com" target="_blank">david.cole@kitware.com</a>&gt; wrote:<br>
&gt; &gt;&gt; &gt; Well, add_dependencies means that the custom target will be built<br>
&gt; &gt;&gt; &gt; *before* the target that needs it. So it becomes part of &quot;ALL&quot; if the<br>
&gt; &gt;&gt; &gt; other target is part of &quot;ALL&quot;.<br>
&gt; &gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt; I thought nothing depended on it, that&#39;s why I offered the leave out<br>
&gt; &gt;&gt; &gt; &quot;ALL&quot; advice. If something depends on it, then it&#39;s going to be<br>
&gt; &gt;&gt; &gt; executed before the thing that depends on it...<br>
&gt; &gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt; On Wed, Apr 4, 2012 at 2:35 PM, Robert Dailey &lt;<a href="mailto:rcdailey.lists@gmail.com" target="_blank">rcdailey.lists@gmail.com</a>&gt;<br>
&gt; &gt;&gt; &gt; wrote:<br>
&gt; &gt;&gt; &gt;&gt; I add the custom targets as a dependency with add_dependencies(), and I<br>
&gt; &gt;&gt; &gt;&gt; create the targets with add_custom_target(), I don&#39;t specify &quot;ALL&quot;.<br>
&gt; &gt;&gt; &gt;&gt;<br>
&gt; &gt;&gt; &gt;&gt; In my test with Visual Studio 2008, building the parent project results<br>
&gt; &gt;&gt; &gt;&gt; in<br>
&gt; &gt;&gt; &gt;&gt; these custom targets being built as well. According to your<br>
&gt; &gt;&gt; &gt;&gt; instruction,<br>
&gt; &gt;&gt; &gt;&gt; this should not happen, correct?<br>
&gt; &gt;&gt; &gt;&gt;<br>
&gt; &gt;&gt; &gt;&gt; On Wed, Apr 4, 2012 at 12:10 PM, David Cole &lt;<a href="mailto:david.cole@kitware.com" target="_blank">david.cole@kitware.com</a>&gt;<br>
&gt; &gt;&gt; &gt;&gt; wrote:<br>
&gt; &gt;&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt; &gt;&gt;&gt; Sure, just use add_custom_target without the &quot;ALL&quot; argument. If you<br>
&gt; &gt;&gt; &gt;&gt;&gt; don&#39;t use &quot;ALL&quot;, then the project is completely disconnected from<br>
&gt; &gt;&gt; &gt;&gt;&gt; ALL_BUILD and everything else, and will only be triggered when you<br>
&gt; &gt;&gt; &gt;&gt;&gt; explicitly build that target/project.<br>
&gt; &gt;&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt; &gt;&gt;&gt; HTH,<br>
&gt; &gt;&gt; &gt;&gt;&gt; David<br>
&gt; &gt;&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt; &gt;&gt;&gt; On Wed, Apr 4, 2012 at 12:53 PM, Robert Dailey<br>
&gt; &gt;&gt; &gt;&gt;&gt; &lt;<a href="mailto:rcdailey.lists@gmail.com" target="_blank">rcdailey.lists@gmail.com</a>&gt;<br>
&gt; &gt;&gt; &gt;&gt;&gt; wrote:<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt; Hi,<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt; I have a custom target that just runs some commands that have<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt; nothing to<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt; do<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt; with building source. For convenience, when generating visual studio<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt; projects, I&#39;d like for that target to be included in the SLN<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt; generated<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt; by<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt; project() but I don&#39;t want to make it a dependency, since that would<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt; force<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt; it to build when I build any other project in the solution (I<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt; think).<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt; Is there a way to make a vcproj be included in a sln without it<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt; building<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt; as<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt; part of the dependency chain?<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt; Thanks in advance.<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt; --<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt; Visit other Kitware open-source projects at<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt; Please keep messages on-topic and check the CMake FAQ at:<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt; <a href="http://www.cmake.org/Wiki/CMake_FAQ" target="_blank">http://www.cmake.org/Wiki/CMake_FAQ</a><br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt; Follow this link to subscribe/unsubscribe:<br>
&gt; &gt;&gt; &gt;&gt;&gt; &gt; <a href="http://www.cmake.org/mailman/listinfo/cmake" target="_blank">http://www.cmake.org/mailman/listinfo/cmake</a><br>
&gt; &gt;&gt; &gt;&gt;<br>
&gt; &gt;&gt; &gt;&gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; --<br>
&gt; &gt;<br>
&gt; &gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt; &gt;<br>
&gt; &gt; Visit other Kitware open-source projects at<br>
&gt; &gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt; &gt;<br>
&gt; &gt; Please keep messages on-topic and check the CMake FAQ at:<br>
&gt; &gt; <a href="http://www.cmake.org/Wiki/CMake_FAQ" target="_blank">http://www.cmake.org/Wiki/CMake_FAQ</a><br>
&gt; &gt;<br>
&gt; &gt; Follow this link to subscribe/unsubscribe:<br>
&gt; &gt; <a href="http://www.cmake.org/mailman/listinfo/cmake" target="_blank">http://www.cmake.org/mailman/listinfo/cmake</a><br>
&gt;<br>
&gt; --<br>
&gt;<br>
&gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;<br>
&gt; 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>
&gt;<br>
&gt; 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>
&gt;<br>
&gt; Follow this link to subscribe/unsubscribe:<br>
&gt; <a href="http://www.cmake.org/mailman/listinfo/cmake" target="_blank">http://www.cmake.org/mailman/listinfo/cmake</a><br>
<br>
--<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>
</div></div></blockquote></div><br></div>