<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.2873" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY>
<DIV><FONT face=Arial size=2>I wrote a custom generator to do this. You must get 
the source files&nbsp;from the CVS.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>(1) You can disable the custom build rules by 
redefining :</FONT></DIV>
<DIV><FONT face="Courier New" size=2>void 
cmLocalVisualStudio7GeneratorMP::AddVCProjBuildRule(cmTarget&amp; 
tgt)</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>(2) For the source control part,&nbsp;a variable is 
set in&nbsp;our low-level CMakeLists.txt files&nbsp;like this :</FONT></DIV>
<DIV><FONT face="Courier New" size=2>SET(SOURCE_CONTROL "MSSCCI:NXN alienbrain" 
"Projectname")</FONT></DIV>
<DIV><FONT face=Arial size=2>Then in the custom generator&nbsp;it generates the 
relative path to Projectname in order to bind the files. It works with 
Alienbrain, only the files are binded and not the project files (which should 
not be binded, only the CMakeLists.txt has to).</FONT></DIV>
<DIV><FONT face=Arial size=2>Note that the "SET" command is not the best choice, 
since the error detection is performed during the generation process only (when 
you click on OK button). </FONT></DIV>
<DIV><FONT face=Arial size=2>With a custom command the error can be detected at 
the&nbsp;parsing time&nbsp;(Configure button). </FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Cheers,</FONT></DIV>
<DIV><FONT face=Arial size=2>Sylvain</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>----- Original Message ----- </FONT></DIV>
<DIV><FONT face=Arial size=2>From: "David Cole" &lt;</FONT><A 
href="mailto:david.cole@kitware.com"><FONT face=Arial 
size=2>david.cole@kitware.com</FONT></A><FONT face=Arial 
size=2>&gt;</FONT></DIV>
<DIV><FONT face=Arial size=2>To: "Sylvain Benner" &lt;</FONT><A 
href="mailto:benner@virtools.com"><FONT face=Arial 
size=2>benner@virtools.com</FONT></A><FONT face=Arial size=2>&gt;</FONT></DIV>
<DIV><FONT face=Arial size=2>Cc: &lt;</FONT><A 
href="mailto:cmake@cmake.org"><FONT face=Arial 
size=2>cmake@cmake.org</FONT></A><FONT face=Arial size=2>&gt;</FONT></DIV>
<DIV><FONT face=Arial size=2>Sent: Monday, June 05, 2006 1:45 PM</FONT></DIV>
<DIV><FONT face=Arial size=2>Subject: Re: [CMake] Question about Windows 
support.</FONT></DIV>
<DIV><FONT face=Arial><BR><FONT size=2></FONT></FONT></DIV><FONT face=Arial 
size=2>&gt; How did you (1) disable the custom build rules for the 
CMakeLists.txt <BR>&gt; files and (2) add source control...? Do you do it by 
hand after running <BR>&gt; CMake or do you have a script that does it? Would 
you mind posting <BR>&gt; specific answers back to the list so that other Visual 
Studio users can <BR>&gt; benefit from your suggestions?<BR>&gt; <BR>&gt; 
Thanks,<BR>&gt; David<BR>&gt; <BR>&gt; <BR>&gt; Sylvain Benner wrote:<BR>&gt; 
<BR>&gt;&gt; I've posted a way to handle precompiled headers the 1st June. You 
<BR>&gt;&gt; should find it if you browse for the threads of june 2006, the name 
of <BR>&gt;&gt; the thread is "Precompiled Headers".<BR>&gt;&gt; I don't know if 
it's a good way to handle it but my main concern was <BR>&gt;&gt; to do a 
CMakeLists.txt that is friendly to edit, quickly <BR>&gt;&gt; understandable and 
with the possibility to add new properties easily, <BR>&gt;&gt; so I tried to it 
this way.<BR>&gt;&gt;<BR>&gt;&gt; A side note : If you are using CMake with a 
lot of projects in VS IDE <BR>&gt;&gt; I suggest to disable custom build rules 
for the CMakeLists.txt files <BR>&gt;&gt; and add the CMake GUI to the external 
tools. The developpers use the <BR>&gt;&gt; front-end when they need to do it by 
calling the GUI from the tools <BR>&gt;&gt; menu (I added source control so they 
should know when they check out a <BR>&gt;&gt; CMakeLists.txt), it speeds up the 
compilation time a bit and the <BR>&gt;&gt; "reload" popup will not interfere 
with the compilation (it needs to <BR>&gt;&gt; cancel the compilation every time 
and rerun it) which leads to a much <BR>&gt;&gt; more comfortable work 
environment.<BR>&gt;&gt;<BR>&gt;&gt; Sylvain<BR>&gt;&gt; ----- Original Message 
----- From: "Bennett Smith" &lt;</FONT><A href="mailto:idvlpsw@gmail.com"><FONT 
face=Arial size=2>idvlpsw@gmail.com</FONT></A><FONT face=Arial 
size=2>&gt;<BR>&gt;&gt; To: "William A. Hoffman" &lt;</FONT><A 
href="mailto:billlist@nycap.rr.com"><FONT face=Arial 
size=2>billlist@nycap.rr.com</FONT></A><FONT face=Arial size=2>&gt;<BR>&gt;&gt; 
Cc: &lt;</FONT><A href="mailto:cmake@cmake.org"><FONT face=Arial 
size=2>cmake@cmake.org</FONT></A><FONT face=Arial size=2>&gt;<BR>&gt;&gt; Sent: 
Friday, June 02, 2006 7:41 PM<BR>&gt;&gt; Subject: Re: [CMake] Question about 
Windows support.<BR>&gt;&gt;<BR>&gt;&gt;<BR>&gt;&gt;&gt; Thank you for the 
reply.&nbsp; This sounds very encouraging!&nbsp; I have<BR>&gt;&gt;&gt; ordered 
a copy of the book from Kitware about CMake.&nbsp; In order to 
more<BR>&gt;&gt;&gt; quickly come up to speed on how to do the things listed in 
my original<BR>&gt;&gt;&gt; post can you suggest any resources?&nbsp; Thus far 
in my searching of the<BR>&gt;&gt;&gt; mailing list archive I have not found 
answers.<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; Cheers<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; 
-- Bennett<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; On 6/2/06, William A. Hoffman 
&lt;</FONT><A href="mailto:billlist@nycap.rr.com"><FONT face=Arial 
size=2>billlist@nycap.rr.com</FONT></A><FONT face=Arial size=2>&gt; 
wrote:<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt; At 12:38 PM 6/2/2006, Bennett Smith 
wrote:<BR>&gt;&gt;&gt;&gt; &gt;Hi,<BR>&gt;&gt;&gt;&gt; &gt;<BR>&gt;&gt;&gt;&gt; 
&gt;I'm just starting to learn cmake, and am wondering what the level 
of<BR>&gt;&gt;&gt;&gt; &gt;on-going support is for the Windows platform.&nbsp; A 
couple things that I<BR>&gt;&gt;&gt;&gt; &gt;am hoping cmake can do 
are:<BR>&gt;&gt;&gt;&gt; &gt;<BR>&gt;&gt;&gt;&gt; &gt;1. Handle generation of 
library and executable targets with different<BR>&gt;&gt;&gt;&gt; &gt;names for 
debug and release configurations.<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt; This 
is done in CMake 2.4.2<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt; &gt;2. Handle 
pre-compiled header files with Visual 
C++.<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt; This has been done, but is not 
directly supported.<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt; 
&gt;3. Handle COM *.idl files and the invocation of 
MIDL.<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt; This can be done but is not 
directly supported.<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt; &gt;4. Handle 
manifest files in association with 
executables.<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt; CMake 2.4.2 does 
this.<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt; &gt;I have not 
been able to find any discussion and/or examples of how<BR>&gt;&gt;&gt;&gt; 
&gt;cmake addresses these issues.&nbsp; I have searched through the 
bug<BR>&gt;&gt;&gt;&gt; &gt;database and it looks like there are some issues 
related to the above<BR>&gt;&gt;&gt;&gt; &gt;mentioned items.&nbsp; Some of 
these issues were posted back in 2004, and<BR>&gt;&gt;&gt;&gt; &gt;it doesn't 
look like anyone has been actively working on 
them.<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt; The bug tracker is in serious need 
of clean up.....<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt; 
&gt;In general, are people using cmake for Windows projects?&nbsp; Who are 
the<BR>&gt;&gt;&gt;&gt; &gt;active contributors to the windows specific aspects 
of cmake?&nbsp; Can<BR>&gt;&gt;&gt;&gt; &gt;anyone offer some historic 
perspective on how well the Windows<BR>&gt;&gt;&gt;&gt; &gt;platform is 
supported by cmake in general?<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt; Windows 
Visual Studio is one of the major platforms for CMake, and 
is<BR>&gt;&gt;&gt;&gt; very actively 
supported.<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt; 
-Bill<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; 
-- <BR>&gt;&gt;&gt; -- <BR>&gt;&gt;&gt; Bennett Smith<BR>&gt;&gt;&gt; 
iDevelopSoftware, Inc.<BR>&gt;&gt;&gt; 
_______________________________________________<BR>&gt;&gt;&gt; CMake mailing 
list<BR>&gt;&gt;&gt; </FONT><A href="mailto:CMake@cmake.org"><FONT face=Arial 
size=2>CMake@cmake.org</FONT></A><BR><FONT face=Arial size=2>&gt;&gt;&gt; 
</FONT><A href="http://www.cmake.org/mailman/listinfo/cmake"><FONT face=Arial 
size=2>http://www.cmake.org/mailman/listinfo/cmake</FONT></A><BR><FONT 
face=Arial size=2>&gt;&gt;&gt;<BR>&gt;&gt;<BR>&gt;&gt; 
_______________________________________________<BR>&gt;&gt; CMake mailing 
list<BR>&gt;&gt; </FONT><A href="mailto:CMake@cmake.org"><FONT face=Arial 
size=2>CMake@cmake.org</FONT></A><BR><FONT face=Arial size=2>&gt;&gt; </FONT><A 
href="http://www.cmake.org/mailman/listinfo/cmake"><FONT face=Arial 
size=2>http://www.cmake.org/mailman/listinfo/cmake</FONT></A><BR><FONT 
face=Arial size=2>&gt;&gt;<BR>&gt;</FONT></BODY></HTML>