Commit d78eab74 authored by David Cole's avatar David Cole
Browse files

BUG: Because of Windows registry madness, we could not find the...

BUG: Because of Windows registry madness, we could not find the redistributables directory on Win64 builds... Add a search directory based on devenv (CMAKE_MAKE_PROGRAM) location so we can find it despite the madness.
parent 73117edf
...@@ -14,12 +14,14 @@ ...@@ -14,12 +14,14 @@
IF(MSVC) IF(MSVC)
FILE(TO_CMAKE_PATH "$ENV{SYSTEMROOT}" SYSTEMROOT) FILE(TO_CMAKE_PATH "$ENV{SYSTEMROOT}" SYSTEMROOT)
IF(MSVC70) IF(MSVC70)
SET(__install__libs SET(__install__libs
"${SYSTEMROOT}/system32/msvcp70.dll" "${SYSTEMROOT}/system32/msvcp70.dll"
"${SYSTEMROOT}/system32/msvcr70.dll" "${SYSTEMROOT}/system32/msvcr70.dll"
) )
ENDIF(MSVC70) ENDIF(MSVC70)
IF(MSVC71) IF(MSVC71)
SET(__install__libs SET(__install__libs
"${SYSTEMROOT}/system32/msvcp71.dll" "${SYSTEMROOT}/system32/msvcp71.dll"
...@@ -33,10 +35,15 @@ IF(MSVC) ...@@ -33,10 +35,15 @@ IF(MSVC)
SET(CMAKE_MSVC_ARCH x86) SET(CMAKE_MSVC_ARCH x86)
ENDIF(CMAKE_CL_64) ENDIF(CMAKE_CL_64)
GET_FILENAME_COMPONENT(devenv_dir "${CMAKE_MAKE_PROGRAM}" PATH)
GET_FILENAME_COMPONENT(base_dir "${devenv_dir}/../.." ABSOLUTE)
IF(MSVC80) IF(MSVC80)
# Find the runtime library redistribution directory. # Find the runtime library redistribution directory.
FIND_PATH(MSVC80_REDIST_DIR NAMES ${CMAKE_MSVC_ARCH}/Microsoft.VC80.CRT/Microsoft.VC80.CRT.manifest 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" PATHS
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0;InstallDir]/../../VC/redist"
"${base_dir}/VC/redist"
) )
MARK_AS_ADVANCED(MSVC80_REDIST_DIR) MARK_AS_ADVANCED(MSVC80_REDIST_DIR)
SET(MSVC80_CRT_DIR "${MSVC80_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC80.CRT") SET(MSVC80_CRT_DIR "${MSVC80_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC80.CRT")
...@@ -62,16 +69,18 @@ IF(MSVC) ...@@ -62,16 +69,18 @@ IF(MSVC)
ENDIF(CMAKE_INSTALL_DEBUG_LIBRARIES) ENDIF(CMAKE_INSTALL_DEBUG_LIBRARIES)
ENDIF(MSVC80) ENDIF(MSVC80)
IF(MSVC90) IF(MSVC90)
# Find the runtime library redistribution directory. # Find the runtime library redistribution directory.
FIND_PATH(MSVC90_REDIST_DIR NAMES ${CMAKE_MSVC_ARCH}/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest 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" PATHS
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\9.0;InstallDir]/../../VC/redist"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VCExpress\\9.0;InstallDir]/../../VC/redist" "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VCExpress\\9.0;InstallDir]/../../VC/redist"
"${base_dir}/VC/redist"
) )
MARK_AS_ADVANCED(MSVC90_REDIST_DIR) MARK_AS_ADVANCED(MSVC90_REDIST_DIR)
SET(MSVC90_CRT_DIR "${MSVC90_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC90.CRT") SET(MSVC90_CRT_DIR "${MSVC90_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC90.CRT")
# Install the manifest that allows DLLs to be loaded from the # Install the manifest that allows DLLs to be loaded from the
# directory containing the executable. # directory containing the executable.
SET(__install__libs SET(__install__libs
...@@ -91,6 +100,7 @@ IF(MSVC) ...@@ -91,6 +100,7 @@ IF(MSVC)
) )
ENDIF(CMAKE_INSTALL_DEBUG_LIBRARIES) ENDIF(CMAKE_INSTALL_DEBUG_LIBRARIES)
ENDIF(MSVC90) ENDIF(MSVC90)
IF(CMAKE_INSTALL_MFC_LIBRARIES) IF(CMAKE_INSTALL_MFC_LIBRARIES)
IF(MSVC70) IF(MSVC70)
SET(__install__libs ${__install__libs} SET(__install__libs ${__install__libs}
...@@ -142,6 +152,7 @@ IF(MSVC) ...@@ -142,6 +152,7 @@ IF(MSVC)
"${MSVC80_MFCLOC_DIR}/mfc80kor.dll" "${MSVC80_MFCLOC_DIR}/mfc80kor.dll"
) )
ENDIF(MSVC80) ENDIF(MSVC80)
IF(MSVC90) IF(MSVC90)
IF(CMAKE_INSTALL_DEBUG_LIBRARIES) IF(CMAKE_INSTALL_DEBUG_LIBRARIES)
SET(MSVC90_MFC_DIR SET(MSVC90_MFC_DIR
...@@ -184,6 +195,7 @@ IF(MSVC) ...@@ -184,6 +195,7 @@ IF(MSVC)
ENDIF(MSVC90) ENDIF(MSVC90)
ENDIF(CMAKE_INSTALL_MFC_LIBRARIES) ENDIF(CMAKE_INSTALL_MFC_LIBRARIES)
FOREACH(lib FOREACH(lib
${__install__libs} ${__install__libs}
) )
...@@ -205,5 +217,3 @@ IF(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS) ...@@ -205,5 +217,3 @@ IF(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS)
ENDIF(WIN32) ENDIF(WIN32)
ENDIF(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP) ENDIF(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP)
ENDIF(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS) ENDIF(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment