[Cmake-commits] [cmake-commits] david.cole committed InstallRequiredSystemLibraries.cmake 1.13 1.14

cmake-commits at cmake.org cmake-commits at cmake.org
Thu Nov 13 17:12:43 EST 2008


Update of /cvsroot/CMake/CMake/Modules
In directory public:/mounts/ram/cvs-serv24669

Modified Files:
	InstallRequiredSystemLibraries.cmake 
Log Message:
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.


Index: InstallRequiredSystemLibraries.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/InstallRequiredSystemLibraries.cmake,v
retrieving revision 1.13
retrieving revision 1.14
diff -C 2 -d -r1.13 -r1.14
*** InstallRequiredSystemLibraries.cmake	30 Jul 2008 19:43:14 -0000	1.13
--- InstallRequiredSystemLibraries.cmake	13 Nov 2008 22:12:41 -0000	1.14
***************
*** 15,18 ****
--- 15,19 ----
  IF(MSVC)
    FILE(TO_CMAKE_PATH "$ENV{SYSTEMROOT}" SYSTEMROOT)
+ 
    IF(MSVC70)
      SET(__install__libs
***************
*** 21,24 ****
--- 22,26 ----
        )
    ENDIF(MSVC70)
+ 
    IF(MSVC71)
      SET(__install__libs
***************
*** 34,41 ****
    ENDIF(CMAKE_CL_64)
  
    IF(MSVC80)
      # Find the runtime library redistribution directory.
      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"
        )
      MARK_AS_ADVANCED(MSVC80_REDIST_DIR)
--- 36,48 ----
    ENDIF(CMAKE_CL_64)
  
+   GET_FILENAME_COMPONENT(devenv_dir "${CMAKE_MAKE_PROGRAM}" PATH)
+   GET_FILENAME_COMPONENT(base_dir "${devenv_dir}/../.." ABSOLUTE)
+ 
    IF(MSVC80)
      # Find the runtime library redistribution directory.
      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"
!         "${base_dir}/VC/redist"
        )
      MARK_AS_ADVANCED(MSVC80_REDIST_DIR)
***************
*** 63,76 ****
  
    ENDIF(MSVC80)
    IF(MSVC90)
      # Find the runtime library redistribution directory.
      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"
        )
      MARK_AS_ADVANCED(MSVC90_REDIST_DIR)
      SET(MSVC90_CRT_DIR "${MSVC90_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC90.CRT")
!     
      # Install the manifest that allows DLLs to be loaded from the
      # directory containing the executable.
--- 70,85 ----
  
    ENDIF(MSVC80)
+ 
    IF(MSVC90)
      # Find the runtime library redistribution directory.
      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"
!         "${base_dir}/VC/redist"
        )
      MARK_AS_ADVANCED(MSVC90_REDIST_DIR)
      SET(MSVC90_CRT_DIR "${MSVC90_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC90.CRT")
! 
      # Install the manifest that allows DLLs to be loaded from the
      # directory containing the executable.
***************
*** 92,95 ****
--- 101,105 ----
      ENDIF(CMAKE_INSTALL_DEBUG_LIBRARIES) 
    ENDIF(MSVC90) 
+ 
    IF(CMAKE_INSTALL_MFC_LIBRARIES)
      IF(MSVC70)
***************
*** 143,146 ****
--- 153,157 ----
          )
      ENDIF(MSVC80)
+ 
      IF(MSVC90)
        IF(CMAKE_INSTALL_DEBUG_LIBRARIES)
***************
*** 185,188 ****
--- 196,200 ----
  
    ENDIF(CMAKE_INSTALL_MFC_LIBRARIES)
+ 
    FOREACH(lib
        ${__install__libs}
***************
*** 206,209 ****
    ENDIF(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP)
  ENDIF(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS)
- 
- 
--- 218,219 ----



More information about the Cmake-commits mailing list