[CMake] Visual Studio project generation strangeness

James Bigler jamesbigler at gmail.com
Fri Feb 6 19:20:19 EST 2009


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20090206/f51d9a02/attachment.htm>


More information about the CMake mailing list