MantisBT - CMake
View Issue Details
0016108CMakeCPackpublic2016-05-25 08:222016-06-10 14:21
Andry81 
 
normalminoralways
closedfixed 
WindowsWindows x647 SP1
CMake 3.5.2 
CMake 3.6CMake 3.6 
0016108: get_prerequisites failed to locate installed Microsoft Visual Studio if installed into not default location
get_prerequisites could not find dumpbin.exe and has tried to use unexisted objdump.exe

Reason: get_prerequisites (share/cmake-3.5/Modules/GetPrerequisites.cmake) does search Microsoft Visual Studio incorrectly
1. make sure that all versions of Microsoft Visual Studio has installed into not default locations

2. run cpack after cmake in the cmake build directory:
>cmake .
>cmake --build . --config release
>cpack -V --config CPackConfig.cmake .

3. observe messages "CPack Verbose: warning: could not find 'objdump' - cannot analyze prerequisites..."
To fix it replace this in the "share/cmake-3.5/Modules/GetPrerequisites.cmake" file:
  set(gp_cmd_paths ${gp_cmd_paths}
    "C:/Program Files/Microsoft Visual Studio 9.0/VC/bin"
    "C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/bin"
    "C:/Program Files/Microsoft Visual Studio 8/VC/BIN"
    "C:/Program Files (x86)/Microsoft Visual Studio 8/VC/BIN"
    "C:/Program Files/Microsoft Visual Studio .NET 2003/VC7/BIN"
    "C:/Program Files (x86)/Microsoft Visual Studio .NET 2003/VC7/BIN"
    "/usr/local/bin"
    "/usr/bin"
    )

To something like this:
  set(gp_cmd_paths ${gp_cmd_paths}
    [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\14.0;InstallDir]/../../VC/bin
    [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\12.0;InstallDir]/../../VC/bin
    [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\11.0;InstallDir]/../../VC/bin
    [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0;InstallDir]/../../VC/bin
    [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\9.0;InstallDir]/../../VC/bin
    [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0;InstallDir]/../../VC/bin
    [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\7.1;InstallDir]/../../VC7/bin
    [HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\VisualStudio\\14.0;InstallDir]/../../VC/bin
    [HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\VisualStudio\\12.0;InstallDir]/../../VC/bin
    [HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\VisualStudio\\11.0;InstallDir]/../../VC/bin
    [HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\VisualStudio\\10.0;InstallDir]/../../VC/bin
    [HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\VisualStudio\\9.0;InstallDir]/../../VC/bin
    [HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\VisualStudio\\8.0;InstallDir]/../../VC/bin
    [HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\VisualStudio\\7.1;InstallDir]/../../VC7/bin
    "C:/Program Files/Microsoft Visual Studio 9.0/VC/bin"
    "C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/bin"
    "C:/Program Files/Microsoft Visual Studio 8/VC/BIN"
    "C:/Program Files (x86)/Microsoft Visual Studio 8/VC/BIN"
    "C:/Program Files/Microsoft Visual Studio .NET 2003/VC7/BIN"
    "C:/Program Files (x86)/Microsoft Visual Studio .NET 2003/VC7/BIN"
    "/usr/local/bin"
    "/usr/bin"
    )
No tags attached.
has duplicate 0010138closed Clinton Stimpson GetPrerequisties can't find dumpbin for non-default installation 
Issue History
2016-05-25 08:22Andry81New Issue
2016-05-25 08:56Brad KingNote Added: 0041091
2016-05-25 08:56Brad KingStatusnew => resolved
2016-05-25 08:56Brad KingResolutionopen => fixed
2016-05-25 08:56Brad KingFixed in Version => CMake 3.6
2016-05-25 08:56Brad KingTarget Version => CMake 3.6
2016-05-25 09:07Brad KingNote Added: 0041092
2016-05-25 09:20Andry81Note Added: 0041093
2016-05-25 11:01Clinton StimpsonRelationship addedhas duplicate 0010138
2016-06-10 14:21Kitware RobotNote Added: 0041165
2016-06-10 14:21Kitware RobotStatusresolved => closed

Notes
(0041091)
Brad King   
2016-05-25 08:56   
I believe this was fixed recently:

GetPrerequisites: add path of VS 10,11,12,14 in order to find dumpbin.exe
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c79f88b0 [^]

GetPrerequisites: Look for VS tools using environment variables
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a1c40291 [^]
(0041092)
Brad King   
2016-05-25 09:07   
I've now also added the registry entries:

GetPrerequisites: Look for VS tools using registry entries
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c9cebed5 [^]

Thanks!
(0041093)
Andry81   
2016-05-25 09:20   
You better extract that code into standalone function, because correct search of the Microsoft Visual Studio installation is a common issue.
(0041165)
Kitware Robot   
2016-06-10 14:21   
This issue tracker is no longer used. Further discussion of this issue may take place in the current CMake Issues page linked in the banner at the top of this page.