View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0010483CMakeCMakepublic2010-03-30 03:032010-09-09 23:59
ReporterConrad 
Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product VersionCMake-2-8 
Target VersionCMake 2.8.3Fixed in VersionCMake 2.8.3 
Summary0010483: Visual Studio 2010 *.vcxproj file parsing for INCLUDE_EXTERNAL_MSPROJECT: ProjectGUID now ProjectGuid
DescriptionWe use the INCLUDE_EXTERNAL_MSPROJECT for the third-party package Xerces. I used the latest VS 2010 release candidate to upgrade the third-party package's old VS 9 Xerces.vcproj files to VS 2010 Xerces.vcxproj files. The resulting Xerces.vcxproj file was not correctly imported into the CMake-generated 3rdParty.sln solution because its GUID was not successfully parsed. The same problem occurs with all five other packages that we import with INCLUDE_EXTERNAL_MSPROJECT as well, so it's not Xerces-specific.

Examining the VS 2010-generated Xerces.vcxproj files in a text editor, I saw that the XML was:
  <PropertyGroup Label="Globals">
    <ProjectGuid>{152CE948-F659-4206-A50A-1D2B9658EF96}</ProjectGuid>
  </PropertyGroup>

Note the GUID element name is "ProjectGuid" rather than the old "ProjectGUID".

I fixed this in the CMake source code by changing a single line in cmLocalVisualStudio10Generator.cxx from:
  if(strcmp("ProjectGUID", name) == 0)
to:
  // VS 2010 betas: "ProjectGUID". 2010-03-27 release candidate: "ProjectGuid"
  if(strcmp("ProjectGUID", name) == 0 || strcmp("ProjectGuid", name) == 0)

This fixes the problem in my version of the code.

I'm new to git and probably don't have commit access.
TagsNo tags attached.
Attached Files

 Relationships

  Notes
(0021348)
Conrad (reporter)
2010-07-10 21:38

Perhaps I was too verbose?

Concise version: INCLUDE_EXTERNAL_MSPROJECT is broken in VS 2010.

One-line fix: in cmLocalVisualStudio10Generator.cxx change:
  if(strcmp("ProjectGUID", name) == 0)
to:
  // VS 2010: "ProjectGUID" changed to "ProjectGuid"
  if(strcmp("ProjectGUID", name) == 0 || strcmp("ProjectGuid", name) == 0)
(0021377)
Bill Hoffman (manager)
2010-07-13 09:17

Thanks, this has been pushed to next. 4e7b24e..3cde195 next -> next

 Issue History
Date Modified Username Field Change
2010-03-30 03:03 Conrad New Issue
2010-07-10 21:38 Conrad Note Added: 0021348
2010-07-13 09:17 Bill Hoffman Note Added: 0021377
2010-07-13 09:17 Bill Hoffman Status new => closed
2010-07-13 09:17 Bill Hoffman Resolution open => fixed
2010-09-09 23:59 David Cole Fixed in Version => CMake 2.8.3
2010-09-09 23:59 David Cole Target Version => CMake 2.8.3


Copyright © 2000 - 2018 MantisBT Team