diff --git a/Modules/InstallRequiredSystemLibraries.cmake b/Modules/InstallRequiredSystemLibraries.cmake index 8d431bfcd..4ffdb1b3f 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)