View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0013774CMakeCMakepublic2012-12-04 10:512013-07-01 09:38
ReporterFilip Konvicka (LOGIS) 
Assigned ToBrad King 
PriorityurgentSeverityblockReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product VersionCMake 2.8.10.1 
Target VersionCMake 2.8.11Fixed in VersionCMake 2.8.11 
Summary0013774: Support v110_xp target with MSVC 2012 Update 1
DescriptionMicrosoft has released an important update to MSVC (MSVC 2012 Update 1) that allows us to build applications that target Windows 2003 and Windows XP. This requires that a new non-default toolset is used for the build: v110_xp (the default is called v110). There is no way I know of in CMake to do this properly, as the generator is fixed on v110. This is blocking us from using MSVC 2012 with CMake.

Perhaps adding a clone of the current generator with a different name and a different target toolset is sufficient...?
Additional InformationInteresting links on the subject:

http://blogs.msdn.com/b/chuckw/archive/2012/11/26/visual-studio-2012-update-1.aspx [^]
http://blogs.msdn.com/b/vcblog/archive/2012/10/08/10357555.aspx [^]
TagsNo tags attached.
Attached Fileszip file icon msvc11xp.zip [^] (3,407 bytes) 2012-12-06 05:15
gz file icon 7ecaa404+vs-platform-toolset-1.tar.gz [^] (5,898 bytes) 2012-12-17 09:11

 Relationships
related to 0010722closedBrad King Add PlatformToolset support to Visual Studio 2010 generator 

  Notes
(0031828)
Brad King (manager)
2012-12-04 13:16

Issue 0010722 discusses general PlatformToolset selection, though that is harder than this because it wants to mix VS versions.

Since that issue was last discussed there is now this variable:

 http://www.cmake.org/cmake/help/v2.8.10/cmake.html#variable:CMAKE_VS_PLATFORM_TOOLSET [^]

added here:

 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=89595d6b [^]

Currently it is only meant for the VS generators to provide information. Setting it has no effects.

When we added CMAKE_VS_PLATFORM_TOOLSET the name was chosen so that it could make sense to allow it to be set in the future, as in something like

 cmake -G"Visual Studio 2011" -DCMAKE_VS_PLATFORM_TOOLSET=v110_xp

However, additional changes will be needed to make that work.
(0031834)
Brad King (manager)
2012-12-05 10:41

We could also consider complementing the "-G" (Generator) option with a new "-GT" (Generator Toolset) option to set CMAKE_VS_PLATFORM_TOOLSET automatically. An equivalent option would also be needed in cmake-gui.

The -GT option could be generalized for use with the Xcode generator in the future.
(0031836)
Filip Konvicka (LOGIS) (reporter)
2012-12-05 10:59

The -G option sounds nice (in fact, I proposed the same in the original post).
(0031840)
Filip Konvicka (LOGIS) (reporter)
2012-12-06 05:19

I attached a patch that adds new generators (that inherit from existing ones). It seems to be working fine.
(0031841)
Filip Konvicka (LOGIS) (reporter)
2012-12-06 06:04

I now realize that I misunderstood your previous comment. Adding -GT would be nice, but I understand it is a bit more complicated than what I did. Obviously, my approach does not scale as well.
(0031842)
Brad King (manager)
2012-12-06 07:59

Re 0013774:0031841: FYI, there is also a pull request using the generator name for this:

 https://github.com/Kitware/CMake/pull/29 [^]

but as I commented there I don't want to add another dimension of information to the generator name. The target platform shouldn't have been there either but is for historical reasons.
(0031843)
Filip Konvicka (LOGIS) (reporter)
2012-12-06 08:04

I completely agree. Hopefully my patch can help someone before an official solution is available.
(0031859)
David Manura (reporter)
2012-12-08 22:55

My current workaround is to just change "v110" to "v110_xp" in Source/cmGlobalVisualStudio11Generator.cxx and recompile cmake. There should be a way to do this without recompiling though.
(0031905)
Brad King (manager)
2012-12-17 09:11

Attachment "7ecaa404+vs-platform-toolset-1.tar.gz" contains a work-in-progress patch series to address this issue by adding support for a cmake "-T" option to specify a generator-specific toolset. Additional work is in progress to update cmake-gui to set this too.
(0032228)
Brad King (manager)
2013-02-08 13:46

The work mentioned in 0013774:0031905 has matured and been merged to 'master' here:

 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7dab9977 [^]

It addresses the more general issue 0010722 and as a result subsumes this issue.
(0033430)
Robert Maynard (manager)
2013-07-01 09:38

Closing resolved issues that have not been updated in more than 4 months.

 Issue History
Date Modified Username Field Change
2012-12-04 10:51 Filip Konvicka (LOGIS) New Issue
2012-12-04 13:10 Brad King Relationship added related to 0010722
2012-12-04 13:16 Brad King Note Added: 0031828
2012-12-05 10:41 Brad King Note Added: 0031834
2012-12-05 10:59 Filip Konvicka (LOGIS) Note Added: 0031836
2012-12-06 05:15 Filip Konvicka (LOGIS) File Added: msvc11xp.zip
2012-12-06 05:19 Filip Konvicka (LOGIS) Note Added: 0031840
2012-12-06 06:04 Filip Konvicka (LOGIS) Note Added: 0031841
2012-12-06 07:59 Brad King Note Added: 0031842
2012-12-06 08:04 Filip Konvicka (LOGIS) Note Added: 0031843
2012-12-08 22:55 David Manura Note Added: 0031859
2012-12-17 09:11 Brad King File Added: 7ecaa404+vs-platform-toolset-1.tar.gz
2012-12-17 09:11 Brad King Note Added: 0031905
2013-02-08 13:46 Brad King Note Added: 0032228
2013-02-08 13:46 Brad King Assigned To => Brad King
2013-02-08 13:46 Brad King Status new => resolved
2013-02-08 13:46 Brad King Resolution open => fixed
2013-02-08 13:46 Brad King Fixed in Version => CMake 2.8.11
2013-02-08 13:46 Brad King Target Version => CMake 2.8.11
2013-07-01 09:38 Robert Maynard Note Added: 0033430
2013-07-01 09:38 Robert Maynard Status resolved => closed


Copyright © 2000 - 2018 MantisBT Team