[cmake-developers] [CMake 0014038]: Generate different .sln header for Express edition of Visual Studio

Mantis Bug Tracker mantis at public.kitware.com
Fri Mar 22 16:35:17 EDT 2013


The following issue has been SUBMITTED. 
====================================================================== 
http://public.kitware.com/Bug/view.php?id=14038 
====================================================================== 
Reported By:                szx
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   14038
Category:                   (No Category)
Reproducibility:            have not tried
Severity:                   minor
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2013-03-22 16:35 EDT
Last Modified:              2013-03-22 16:35 EDT
====================================================================== 
Summary:                    Generate different .sln header for Express edition
of Visual Studio
Description: 
When you open a CMake-generated .sln file in Visual Studio 2012 Express and you
have another version of Visual Studio installed (like VC++ 2010 Express), a
selection dialog will show up offering you to choose which version of Visual
Studio to use to open the solution file.

However if you create a solution from within Visual Studio 2012 Express itself,
there will be no dialog when you open the solution but it will open immediately
in VS 2012 Express.


Additional Information: 
I've done a bit of research on the subject and found that the second line of
.sln files created by VS 2012 Express is different from that of generated by
CMake:

This is how Visual Studio does it:
# Visual Studio 2012 Express for Windows Desktop

This is how CMake does it:
# Visual Studio 11

This isn't specific to VS 2012 only. For instance, Visual C++ 2010 Express seems
to use the same scheme too.

I managed to extract all possible identification strings from one of the VS
executables (namely WDExpress.exe), and here they are:

# Visual Studio 2010\r\n
# Visual Basic Express 2010\r\n
# Visual C# Express 2010\r\n
# Visual C++ Express 2010\r\n
# Visual Web Developer Express 2010\r\n
# Visual Studio 2010 Tools for Applications\r\n
# Rascal (2010 Version)\r\n
# Visual Studio 10\r\n
# Visual Basic Express 10\r\n
# Visual C# Express 10\r\n
# Visual C++ Express 10\r\n
# Visual Web Developer Express 10\r\n
# Visual Studio 10 Tools for Applications\r\n
# Rascal (Version 10)\r\n
# Visual Studio 2010 Express for Windows Phone\r\n
# Visual Studio 11\r\n
# Visual Web Developer Express 11\r\n
# Rascal (Version 11)\r\n
# Visual Studio 11 Express for Windows Phone\r\n
# Visual Studio 11 Express for Windows 8\r\n
# Visual Studio 2012\r\n
# Visual Studio Express 2012 for Web\r\n
# Rascal (2012 Version)\r\n
# Visual Studio Express 2012 for Windows Phone\r\n
# Visual Studio Express 2012 for Windows 8\r\n
# Visual Studio Express 2012 for Windows Desktop\r\n

Some of them have nothing to do with C++ though but I listed them for
completeness.
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2013-03-22 16:35 szx            New Issue                                    
======================================================================




More information about the cmake-developers mailing list