MantisBT - CMake | |||||||||||||||
View Issue Details | |||||||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||||
0016073 | CMake | Modules | public | 2016-04-21 03:38 | 2016-06-10 14:21 | ||||||||||
Reporter | Lewoco | ||||||||||||||
Assigned To | Brad King | ||||||||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||||||||
Status | closed | Resolution | fixed | ||||||||||||
Platform | MSVS2015 | OS | Windows | OS Version | |||||||||||
Product Version | CMake 3.5.2 | ||||||||||||||
Target Version | CMake 3.6 | Fixed in Version | CMake 3.6 | ||||||||||||
Summary | 0016073: InstallRequiredSystemLibraries and VS 2015 Universal CRT libraries | ||||||||||||||
Description | Many system DLL's required by MSVS2015 are not identified by InstallRequiredSystemLibraries. | ||||||||||||||
Steps To Reproduce | - add_executable a simple hello world - Use InstallRequiredSystemLibraries to install the required libraries - Build an installer using WiX (or whatever) - Install it on Windows 7 (no updates) BUG: executable cannot be run because of missing DLL's. Note: - Updates might have helped but I didn't try it. - Probably also affects Windows 8/8.1. - Might not affect Windows 10? (see link) https://blogs.msdn.microsoft.com/vcblog/2015/03/03/introducing-the-universal-crt/ [^] | ||||||||||||||
Additional Information | Right now I'm using the following code to select the additional required libraries. Please integrate something similar into InstallRequiredSystemLibraries: # InstallRequiredSystemLibraries does not properly support MSVS 14 yet, so do it manually. unset(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_DEBUG) unset(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_RELEASE) if(DEFINED MSVC_VERSION AND NOT MSVC_VERSION LESS 1900) # Internal: Architecture-appropriate library directory names. if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "ARM") set(_winsdk_arch8 arm) # what the WDK for Win8+ calls this architecture else() if(CMAKE_SIZEOF_VOID_P MATCHES "8") set(_winsdk_arch8 x64) # what the WDK for Win8+ calls this architecture else() set(_winsdk_arch8 x86) # what the WDK for Win8+ calls this architecture endif() endif() # The CRT is distributed with MSVS. get_filename_component(MSVS_DIR "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\14.0;ShellFolder]" ABSOLUTE) # As of MSVC 19 the CRT depends on the 'univeral' CRT (which is part of Windows development kit 10 and above). # http://blogs.msdn.com/b/vcblog/archive/2015/03/03/introducing-the-universal-crt.aspx [^] get_filename_component(WINDOWS_KIT_DIR "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows Kits\\Installed Roots;KitsRoot10]" ABSOLUTE) file(GLOB CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_DEBUG "${MSVS_DIR}/VC/redist/debug_nonredist/${_winsdk_arch8}/Microsoft.VC140.DebugCRT/*.dll" "${WINDOWS_KIT_DIR}/Redist/ucrt/DLLs/${_winsdk_arch8}/api-ms-win-*.dll" "${WINDOWS_KIT_DIR}/bin/${_winsdk_arch8}/ucrt/*.dll" ) file(GLOB CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_RELEASE "${MSVS_DIR}/VC/redist/${_winsdk_arch8}/Microsoft.VC140.CRT/*.dll" "${WINDOWS_KIT_DIR}/Redist/ucrt/DLLs/${_winsdk_arch8}/*.dll" ) endif() | ||||||||||||||
Tags | No tags attached. | ||||||||||||||
Relationships |
| ||||||||||||||
Attached Files | |||||||||||||||
Issue History | |||||||||||||||
Date Modified | Username | Field | Change | ||||||||||||
2016-04-21 03:38 | Lewoco | New Issue | |||||||||||||
2016-04-21 03:58 | Nils Gladitz | Relationship added | duplicate of 0015552 | ||||||||||||
2016-04-21 08:04 | Brad King | Relationship added | related to 0015691 | ||||||||||||
2016-04-21 08:09 | Brad King | Note Added: 0040904 | |||||||||||||
2016-04-21 08:09 | Brad King | Relationship replaced | related to 0015552 | ||||||||||||
2016-04-21 08:10 | Brad King | Summary | InstallRequiredSystemLibraries needs updating for MSVS2015 => InstallRequiredSystemLibraries and VS 2015 Universal CRT libraries | ||||||||||||
2016-04-21 22:28 | Lewoco | Note Added: 0040920 | |||||||||||||
2016-04-21 22:32 | Lewoco | Note Edited: 0040920 | bug_revision_view_page.php?bugnote_id=40920#r2092 | ||||||||||||
2016-05-02 15:40 | Brad King | Note Added: 0041012 | |||||||||||||
2016-05-12 10:12 | Tavi Cacina | Note Added: 0041060 | |||||||||||||
2016-05-12 11:14 | Brad King | Note Added: 0041061 | |||||||||||||
2016-05-12 11:14 | Brad King | Assigned To | => Brad King | ||||||||||||
2016-05-12 11:14 | Brad King | Status | new => resolved | ||||||||||||
2016-05-12 11:14 | Brad King | Resolution | open => fixed | ||||||||||||
2016-05-12 11:14 | Brad King | Fixed in Version | => CMake 3.6 | ||||||||||||
2016-05-12 11:14 | Brad King | Target Version | => CMake 3.6 | ||||||||||||
2016-06-10 14:21 | Kitware Robot | Note Added: 0041173 | |||||||||||||
2016-06-10 14:21 | Kitware Robot | Status | resolved => closed |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|