View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0014903CMakeModulespublic2014-05-05 03:352015-04-27 10:01
ReporterFelix Krause 
Assigned ToBrad King 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionfixed 
PlatformMicrosoft Visual Studio 2013OSWindowsOS Versionany
Product VersionCMake 2.8.12.2 
Target VersionCMake 3.0Fixed in VersionCMake 3.0 
Summary0014903: InstallRequiredSystemLibraries CMAKE_INSTALL_MFC_LIBRARIES does not work with MSVC 2013
DescriptionThe MBCS (Multi-Byte Character Set) has been deprecated with VC 2013, and MSVC no longer ships with an MBCS-version of MFC by default. However, it can be downloaded as an add-on here [1].

The InstallRequiredSystemLibraries module requires the MBCS version of the library even if the unicode version is used. So the user has to install an add-on he does not use just to be able to use the module.


 [1]: http://msdn.microsoft.com/en-us/library/dn251007.aspx [^]
Steps To ReproduceInstall Visual Studio 2013 Professional and select the MFC libraries as optional component (otherwise they won't be available at all).

Create a CMake project with these lines:

    set(CMAKE_INSTALL_MFC_LIBRARIES ON)
    include(InstallRequiredSystemLibraries)

Try to create an MSVC 2013 project with it. You get the following error:

    CMake Warning at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/InstallRequiredSystemLibraries.cmake:351 (message):
      system runtime library file does not exist: 'C:/Program Files
      (x86)/Microsoft Visual Studio
      12.0/VC/redist/x86/Microsoft.VC120.MFC/mfc120.dll'
Additional InformationThe patch attached removes the dependency on the MBCS version for MSVC 12 (= 2013) onward.
TagsNo tags attached.
Attached Filespatch file icon InstallRequiredSystemLibraries.patch [^] (1,558 bytes) 2014-05-05 03:35 [Show Content]
patch file icon InstallRequiredSystemLibraries2.patch [^] (2,059 bytes) 2014-05-06 02:31 [Show Content]

 Relationships
related to 0015531closed InstallRequiredSystemLibraries misses MBCS MFC libraries 

  Notes
(0035815)
Brad King (manager)
2014-05-05 09:06

Thanks. If someone *does* install the add-on then we should still have an option to install the MBCS libs too. Please revise the patch to use if(EXISTS) or some other way to optionally get them.
(0035823)
Felix Krause (reporter)
2014-05-06 02:32

You're right, I updated the patch.
(0035827)
Brad King (manager)
2014-05-06 10:00

Thanks. Applied with minor tweaks:

 InstallRequiredSystemLibraries: MBCS MFC is optional on VS 12
 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c0a6646d [^]
(0035828)
Brad King (manager)
2014-05-06 10:10

This has been scheduled for inclusion in the next 3.0 release candidate.
(0037129)
Robert Maynard (manager)
2014-11-03 08:38

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

 Issue History
Date Modified Username Field Change
2014-05-05 03:35 Felix Krause New Issue
2014-05-05 03:35 Felix Krause File Added: InstallRequiredSystemLibraries.patch
2014-05-05 09:06 Brad King Note Added: 0035815
2014-05-05 10:17 Brad King Summary InstallRequiredSystemLibraries does not work with MSVC 2013 => InstallRequiredSystemLibraries CMAKE_INSTALL_MFC_LIBRARIES does not work with MSVC 2013
2014-05-06 02:31 Felix Krause File Added: InstallRequiredSystemLibraries2.patch
2014-05-06 02:32 Felix Krause Note Added: 0035823
2014-05-06 10:00 Brad King Note Added: 0035827
2014-05-06 10:10 Brad King Note Added: 0035828
2014-05-06 10:10 Brad King Assigned To => Brad King
2014-05-06 10:10 Brad King Status new => resolved
2014-05-06 10:10 Brad King Resolution open => fixed
2014-05-06 10:10 Brad King Fixed in Version => CMake 3.0
2014-05-06 10:10 Brad King Target Version => CMake 3.0
2014-11-03 08:38 Robert Maynard Note Added: 0037129
2014-11-03 08:38 Robert Maynard Status resolved => closed
2015-04-27 10:01 Brad King Relationship added related to 0015531


Copyright © 2000 - 2018 MantisBT Team