summaryrefslogtreecommitdiffstats
path: root/Modules/InstallRequiredSystemLibraries.cmake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2006-08-17 13:36:29 (GMT)
committerBrad King <brad.king@kitware.com>2006-08-17 13:36:29 (GMT)
commita40a17dcddf2b4b480ffd98fb3d2da580875a543 (patch)
tree8b9652cb9d1f673f954a7b89d8437a11e8f3059c /Modules/InstallRequiredSystemLibraries.cmake
parent6461767e366e67571155a1c31c96d9e3797a38be (diff)
downloadCMake-a40a17dcddf2b4b480ffd98fb3d2da580875a543.zip
CMake-a40a17dcddf2b4b480ffd98fb3d2da580875a543.tar.gz
CMake-a40a17dcddf2b4b480ffd98fb3d2da580875a543.tar.bz2
ENH: Implemented support for installing VC8 runtime libraries.
Diffstat (limited to 'Modules/InstallRequiredSystemLibraries.cmake')
-rw-r--r--Modules/InstallRequiredSystemLibraries.cmake21
1 files changed, 18 insertions, 3 deletions
diff --git a/Modules/InstallRequiredSystemLibraries.cmake b/Modules/InstallRequiredSystemLibraries.cmake
index 8d431bf..4ffdb1b 100644
--- a/Modules/InstallRequiredSystemLibraries.cmake
+++ b/Modules/InstallRequiredSystemLibraries.cmake
@@ -17,9 +17,20 @@ IF(MSVC)
)
ENDIF(MSVC71)
IF(MSVC80)
+ # Find the runtime library redistribution directory.
+ FIND_PATH(MSVC80_REDIST_DIR NAMES x86/Microsoft.VC80.CRT/Microsoft.VC80.CRT.manifest
+ PATHS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0;InstallDir]/../../VC/redist"
+ )
+ MARK_AS_ADVANCED(MSVC80_REDIST_DIR)
+ SET(MSVC80_CRT_DIR "${MSVC80_REDIST_DIR}/x86/Microsoft.VC80.CRT")
+
+ # Install the manifest that allows DLLs to be loaded from the
+ # directory containing the executable.
SET(__install__libs
- "${SYSTEMROOT}/system32/msvcp80.dll"
- "${SYSTEMROOT}/system32/msvcr80.dll"
+ "${MSVC80_CRT_DIR}/Microsoft.VC80.CRT.manifest"
+ "${MSVC80_CRT_DIR}/msvcm80.dll"
+ "${MSVC80_CRT_DIR}/msvcp80.dll"
+ "${MSVC80_CRT_DIR}/msvcr80.dll"
)
ENDIF(MSVC80)
IF(CMAKE_INSTALL_MFC_LIBRARIES)
@@ -34,8 +45,12 @@ IF(MSVC)
)
ENDIF(MSVC71)
IF(MSVC80)
+ SET(MSVC80_MFC_DIR "${MSVC80_REDIST_DIR}/x86/Microsoft.VC80.MFC")
+ # Install the manifest that allows DLLs to be loaded from the
+ # directory containing the executable.
SET(__install__libs ${__install__libs}
- "${SYSTEMROOT}/system32/mfc80.dll"
+ "${MSVC80_MFC_DIR}/Microsoft.VC80.MFC.manifest"
+ "${MSVC80_MFC_DIR}/mfc80.dll"
)
ENDIF(MSVC80)
ENDIF(CMAKE_INSTALL_MFC_LIBRARIES)