summaryrefslogtreecommitdiffstats
path: root/Modules/InstallRequiredSystemLibraries.cmake
diff options
context:
space:
mode:
authorDavid Cole <david.cole@kitware.com>2011-03-09 23:03:11 (GMT)
committerDavid Cole <david.cole@kitware.com>2011-03-09 23:03:11 (GMT)
commit971a735ba2b4d9e4ac846722fdf280dbd0feb0d4 (patch)
treefe822962c4664f81c9dea78ae6da58794246b017 /Modules/InstallRequiredSystemLibraries.cmake
parentfc3eb139c9f301b253804b6d33b182702991eabf (diff)
downloadCMake-971a735ba2b4d9e4ac846722fdf280dbd0feb0d4.zip
CMake-971a735ba2b4d9e4ac846722fdf280dbd0feb0d4.tar.gz
CMake-971a735ba2b4d9e4ac846722fdf280dbd0feb0d4.tar.bz2
InstallRequiredSystemLibraries: Read reg values with get_filename_component
64-bit CMake can now find the VC redist folder. See this thread on the CMake mailing list for the original report: http://www.cmake.org/pipermail/cmake/2011-March/043342.html Thanks to J. Decker for the suggested fix.
Diffstat (limited to 'Modules/InstallRequiredSystemLibraries.cmake')
-rw-r--r--Modules/InstallRequiredSystemLibraries.cmake16
1 files changed, 12 insertions, 4 deletions
diff --git a/Modules/InstallRequiredSystemLibraries.cmake b/Modules/InstallRequiredSystemLibraries.cmake
index 2dfe8b1..59e5ec1 100644
--- a/Modules/InstallRequiredSystemLibraries.cmake
+++ b/Modules/InstallRequiredSystemLibraries.cmake
@@ -70,9 +70,11 @@ IF(MSVC)
IF(MSVC80)
# Find the runtime library redistribution directory.
+ GET_FILENAME_COMPONENT(msvc_install_dir
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0;InstallDir]" ABSOLUTE)
FIND_PATH(MSVC80_REDIST_DIR NAMES ${CMAKE_MSVC_ARCH}/Microsoft.VC80.CRT/Microsoft.VC80.CRT.manifest
PATHS
- "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0;InstallDir]/../../VC/redist"
+ "${msvc_install_dir}/../../VC/redist"
"${base_dir}/VC/redist"
)
MARK_AS_ADVANCED(MSVC80_REDIST_DIR)
@@ -103,10 +105,14 @@ IF(MSVC)
IF(MSVC90)
# Find the runtime library redistribution directory.
+ GET_FILENAME_COMPONENT(msvc_install_dir
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\9.0;InstallDir]" ABSOLUTE)
+ GET_FILENAME_COMPONENT(msvc_express_install_dir
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VCExpress\\9.0;InstallDir]" ABSOLUTE)
FIND_PATH(MSVC90_REDIST_DIR NAMES ${CMAKE_MSVC_ARCH}/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest
PATHS
- "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\9.0;InstallDir]/../../VC/redist"
- "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VCExpress\\9.0;InstallDir]/../../VC/redist"
+ "${msvc_install_dir}/../../VC/redist"
+ "${msvc_express_install_dir}/../../VC/redist"
"${base_dir}/VC/redist"
)
MARK_AS_ADVANCED(MSVC90_REDIST_DIR)
@@ -137,9 +143,11 @@ IF(MSVC)
IF(MSVC10)
# Find the runtime library redistribution directory.
+ GET_FILENAME_COMPONENT(msvc_install_dir
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0;InstallDir]" ABSOLUTE)
FIND_PATH(MSVC10_REDIST_DIR NAMES ${CMAKE_MSVC_ARCH}/Microsoft.VC100.CRT
PATHS
- "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0;InstallDir]/../../VC/redist"
+ "${msvc_install_dir}/../../VC/redist"
"${base_dir}/VC/redist"
"$ENV{ProgramFiles}/Microsoft Visual Studio 10.0/VC/redist"
"$ENV{ProgramFiles(x86)}/Microsoft Visual Studio 10.0/VC/redist"