[CMake] Visual Studio project generation strangeness

James Bigler jamesbigler at gmail.com
Wed Mar 25 18:00:13 EDT 2009


I believe that VS is rewriting these files because of the Scc source
control stuff.  When I turn that feature off, VS stops rewriting the
project files.  I don't know yet exactly why VS is rewriting the
files.  It could be that it wants to update the SccLocalPath attribute
to a relative path.

I believe the -H path change is related to a different issue
(http://www.cmake.org/pipermail/cmake/2009-March/028099.html).

James

On Fri, Feb 6, 2009 at 6:20 PM, James Bigler <jamesbigler at gmail.com> wrote:
> CMake 2.3.6R11
> VS 2005 (v. 8)
> WinXP 64
>
> I have a rather complicated project and when I first generate it the project
> looks something like this:
>
> <?xml version="1.0" encoding = "Windows-1252"?>
> <VisualStudioProject
>     ProjectType="Visual C++"
>     Version="8.00"
>     Name="rtu"
>     ProjectGUID="{6618B84E-DA3B-4350-A6F0-4D6F5BAB69FD}"
>     SccProjectName="Perforce Project"
>     SccLocalPath="c:/code/stuff/mysource"
>     SccProvider="MSSCCI:Perforce SCM"
>     Keyword="Win32Proj">
>     <Platforms>
>         <Platform
>             Name="x64"/>
>     </Platforms>
>     <Configurations>
> ...
>
> After I run a build the projects look something like this:
>
> <?xml version="1.0" encoding="Windows-1252"?>
> <VisualStudioProject
>     ProjectType="Visual C++"
>     Version="8.00"
>     Name="rtu"
>     ProjectGUID="{6618B84E-DA3B-4350-A6F0-4D6F5BAB69FD}"
>     SccProjectName="Perforce Project"
>     SccLocalPath="..\.."
>     SccProvider="MSSCCI:Perforce SCM"
>     Keyword="Win32Proj"
>     >
>     <Platforms>
>         <Platform
>             Name="x64"
>         />
>     </Platforms>
>     <ToolFiles>
>     </ToolFiles>
>     <Configurations>
>
> Differences are highlighting in yellow for those of you with HTML email.
>
> What I can't figure out is who changed the file.  Did VS or CMake change the
> file?  The fun part is that if I configure again, CMake writes projects that
> look like the first again, and after building then it will change to the
> second causing the projects to reload.  Eventually CMake runs out of changes
> (I have dependencies generated from build processes that cause CMake to
> regenerate some of the projects) and I get convergence, but this does cause
> quite a bit of reloading.
>
> I also see this between the first build and after running the build a second
> time (which causes a reload):
>
> CommandLine="&quot;C:\Program Files (x86)\Programming\CMake
> 2.6\bin\cmake.exe&quot; -Hc:/code/stuff/mysource
> -BC:/code/stuff/mysource/build-64 --check-stamp-file
> CMakeFiles/generate.stamp"
> CommandLine="&quot;C:\Program Files (x86)\Programming\CMake
> 2.6\bin\cmake.exe&quot; -HC:/code/stuff/mysource
> -BC:/code/stuff/mysource/build-64 --check-stamp-file
> CMakeFiles/generate.stamp"
>
> The path to -H changes case.
>
> Thanks,
> James
>
>


More information about the CMake mailing list