summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2011-01-11 20:51:35 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2011-01-11 20:51:35 (GMT)
commitf04bbdf1d4a8b1b1d5f4a2ceae2870af5c6d417e (patch)
treef7646761e59c77f6d81ecf5a46ee89caf15a9f9c /Modules
parentaf94289f5a0f839113cb53068396a33720109acb (diff)
parent753b429ec49a66287ba34d6fc2139e077a3eed4d (diff)
downloadCMake-f04bbdf1d4a8b1b1d5f4a2ceae2870af5c6d417e.zip
CMake-f04bbdf1d4a8b1b1d5f4a2ceae2870af5c6d417e.tar.gz
CMake-f04bbdf1d4a8b1b1d5f4a2ceae2870af5c6d417e.tar.bz2
Merge topic 'fix-install-reqd-sys-libs'
753b429 InstallRequiredSystemLibraries debug-only (#11141) 492cd84 Add variable for InstallRequiredSystemLibraries dir (#11140) dd5c592 Fix incorrect variable documentation (#11127)
Diffstat (limited to 'Modules')
-rw-r--r--Modules/InstallRequiredSystemLibraries.cmake138
1 files changed, 82 insertions, 56 deletions
diff --git a/Modules/InstallRequiredSystemLibraries.cmake b/Modules/InstallRequiredSystemLibraries.cmake
index b60fed8..4564e74 100644
--- a/Modules/InstallRequiredSystemLibraries.cmake
+++ b/Modules/InstallRequiredSystemLibraries.cmake
@@ -1,16 +1,21 @@
-# By including this file, all files in the CMAKE_INSTALL_DEBUG_LIBRARIES,
-# will be installed with INSTALL_PROGRAMS into /bin for WIN32 and /lib
-# for non-win32. If CMAKE_SKIP_INSTALL_RULES is set to TRUE before including
-# this file, then the INSTALL command is not called. The user can use
-# the variable CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS to use a custom install
-# command and install them into any directory they want.
+# By including this file, all library files listed in the variable
+# CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS will be installed with
+# INSTALL(PROGRAMS ...) into bin for WIN32 and lib
+# for non-WIN32. If CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP is set to TRUE
+# before including this file, then the INSTALL command is not called.
+# The user can use the variable CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS to use a
+# custom install command and install them however they want.
# If it is the MSVC compiler, then the microsoft run
# time libraries will be found and automatically added to the
-# CMAKE_INSTALL_DEBUG_LIBRARIES, and installed.
+# CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS, and installed.
# If CMAKE_INSTALL_DEBUG_LIBRARIES is set and it is the MSVC
# compiler, then the debug libraries are installed when available.
+# If CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY is set then only the debug
+# libraries are installed when both debug and release are available.
# If CMAKE_INSTALL_MFC_LIBRARIES is set then the MFC run time
# libraries are installed as well as the CRT run time libraries.
+# If CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION is set then the libraries are
+# installed to that directory rather than the default.
#=============================================================================
# Copyright 2006-2009 Kitware, Inc.
@@ -63,12 +68,14 @@ IF(MSVC)
# Install the manifest that allows DLLs to be loaded from the
# directory containing the executable.
- SET(__install__libs
- "${MSVC80_CRT_DIR}/Microsoft.VC80.CRT.manifest"
- "${MSVC80_CRT_DIR}/msvcm80.dll"
- "${MSVC80_CRT_DIR}/msvcp80.dll"
- "${MSVC80_CRT_DIR}/msvcr80.dll"
- )
+ IF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+ SET(__install__libs
+ "${MSVC80_CRT_DIR}/Microsoft.VC80.CRT.manifest"
+ "${MSVC80_CRT_DIR}/msvcm80.dll"
+ "${MSVC80_CRT_DIR}/msvcp80.dll"
+ "${MSVC80_CRT_DIR}/msvcr80.dll"
+ )
+ ENDIF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
IF(CMAKE_INSTALL_DEBUG_LIBRARIES)
SET(MSVC80_CRT_DIR
@@ -96,12 +103,15 @@ IF(MSVC)
# Install the manifest that allows DLLs to be loaded from the
# directory containing the executable.
- SET(__install__libs
- "${MSVC90_CRT_DIR}/Microsoft.VC90.CRT.manifest"
- "${MSVC90_CRT_DIR}/msvcm90.dll"
- "${MSVC90_CRT_DIR}/msvcp90.dll"
- "${MSVC90_CRT_DIR}/msvcr90.dll"
- )
+ IF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+ SET(__install__libs
+ "${MSVC90_CRT_DIR}/Microsoft.VC90.CRT.manifest"
+ "${MSVC90_CRT_DIR}/msvcm90.dll"
+ "${MSVC90_CRT_DIR}/msvcp90.dll"
+ "${MSVC90_CRT_DIR}/msvcr90.dll"
+ )
+ ENDIF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+
IF(CMAKE_INSTALL_DEBUG_LIBRARIES)
SET(MSVC90_CRT_DIR
"${MSVC90_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.VC90.DebugCRT")
@@ -111,8 +121,8 @@ IF(MSVC)
"${MSVC90_CRT_DIR}/msvcp90d.dll"
"${MSVC90_CRT_DIR}/msvcr90d.dll"
)
- ENDIF(CMAKE_INSTALL_DEBUG_LIBRARIES)
- ENDIF(MSVC90)
+ ENDIF(CMAKE_INSTALL_DEBUG_LIBRARIES)
+ ENDIF(MSVC90)
IF(MSVC10)
# Find the runtime library redistribution directory.
@@ -126,11 +136,14 @@ IF(MSVC)
# Install the manifest that allows DLLs to be loaded from the
# directory containing the executable.
- SET(__install__libs
- "${MSVC10_CRT_DIR}/Microsoft.VC100.CRT.manifest"
- "${MSVC10_CRT_DIR}/msvcp100.dll"
- "${MSVC10_CRT_DIR}/msvcr100.dll"
- )
+ IF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+ SET(__install__libs
+ "${MSVC10_CRT_DIR}/Microsoft.VC100.CRT.manifest"
+ "${MSVC10_CRT_DIR}/msvcp100.dll"
+ "${MSVC10_CRT_DIR}/msvcr100.dll"
+ )
+ ENDIF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+
IF(CMAKE_INSTALL_DEBUG_LIBRARIES)
SET(MSVC10_CRT_DIR
"${MSVC10_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.VC90.DebugCRT")
@@ -139,7 +152,7 @@ IF(MSVC)
"${MSVC10_CRT_DIR}/msvcp100d.dll"
"${MSVC10_CRT_DIR}/msvcr100d.dll"
)
- ENDIF(CMAKE_INSTALL_DEBUG_LIBRARIES)
+ ENDIF(CMAKE_INSTALL_DEBUG_LIBRARIES)
ENDIF(MSVC10)
IF(CMAKE_INSTALL_MFC_LIBRARIES)
@@ -165,17 +178,20 @@ IF(MSVC)
"${MSVC80_MFC_DIR}/mfcm80ud.dll"
)
ENDIF(CMAKE_INSTALL_DEBUG_LIBRARIES)
-
+
SET(MSVC80_MFC_DIR "${MSVC80_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC80.MFC")
# Install the manifest that allows DLLs to be loaded from the
# directory containing the executable.
- SET(__install__libs ${__install__libs}
- "${MSVC80_MFC_DIR}/Microsoft.VC80.MFC.manifest"
- "${MSVC80_MFC_DIR}/mfc80.dll"
- "${MSVC80_MFC_DIR}/mfc80u.dll"
- "${MSVC80_MFC_DIR}/mfcm80.dll"
- "${MSVC80_MFC_DIR}/mfcm80u.dll"
- )
+ IF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+ SET(__install__libs ${__install__libs}
+ "${MSVC80_MFC_DIR}/Microsoft.VC80.MFC.manifest"
+ "${MSVC80_MFC_DIR}/mfc80.dll"
+ "${MSVC80_MFC_DIR}/mfc80u.dll"
+ "${MSVC80_MFC_DIR}/mfcm80.dll"
+ "${MSVC80_MFC_DIR}/mfcm80u.dll"
+ )
+ ENDIF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+
# include the language dll's for vs8 as well as the actuall dll's
SET(MSVC80_MFCLOC_DIR "${MSVC80_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC80.MFCLOC")
# Install the manifest that allows DLLs to be loaded from the
@@ -206,17 +222,20 @@ IF(MSVC)
"${MSVC90_MFC_DIR}/mfcm90ud.dll"
)
ENDIF(CMAKE_INSTALL_DEBUG_LIBRARIES)
-
+
SET(MSVC90_MFC_DIR "${MSVC90_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC90.MFC")
# Install the manifest that allows DLLs to be loaded from the
# directory containing the executable.
- SET(__install__libs ${__install__libs}
- "${MSVC90_MFC_DIR}/Microsoft.VC90.MFC.manifest"
- "${MSVC90_MFC_DIR}/mfc90.dll"
- "${MSVC90_MFC_DIR}/mfc90u.dll"
- "${MSVC90_MFC_DIR}/mfcm90.dll"
- "${MSVC90_MFC_DIR}/mfcm90u.dll"
- )
+ IF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+ SET(__install__libs ${__install__libs}
+ "${MSVC90_MFC_DIR}/Microsoft.VC90.MFC.manifest"
+ "${MSVC90_MFC_DIR}/mfc90.dll"
+ "${MSVC90_MFC_DIR}/mfc90u.dll"
+ "${MSVC90_MFC_DIR}/mfcm90.dll"
+ "${MSVC90_MFC_DIR}/mfcm90u.dll"
+ )
+ ENDIF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+
# include the language dll's for vs9 as well as the actuall dll's
SET(MSVC90_MFCLOC_DIR "${MSVC90_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC90.MFCLOC")
# Install the manifest that allows DLLs to be loaded from the
@@ -247,17 +266,20 @@ IF(MSVC)
"${MSVC10_MFC_DIR}/mfcm100ud.dll"
)
ENDIF(CMAKE_INSTALL_DEBUG_LIBRARIES)
-
+
SET(MSVC10_MFC_DIR "${MSVC10_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC100.MFC")
# Install the manifest that allows DLLs to be loaded from the
# directory containing the executable.
- SET(__install__libs ${__install__libs}
- "${MSVC10_MFC_DIR}/Microsoft.VC100.MFC.manifest"
- "${MSVC10_MFC_DIR}/mfc100.dll"
- "${MSVC10_MFC_DIR}/mfc100u.dll"
- "${MSVC10_MFC_DIR}/mfcm100.dll"
- "${MSVC10_MFC_DIR}/mfcm100u.dll"
- )
+ IF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+ SET(__install__libs ${__install__libs}
+ "${MSVC10_MFC_DIR}/Microsoft.VC100.MFC.manifest"
+ "${MSVC10_MFC_DIR}/mfc100.dll"
+ "${MSVC10_MFC_DIR}/mfc100u.dll"
+ "${MSVC10_MFC_DIR}/mfcm100.dll"
+ "${MSVC10_MFC_DIR}/mfcm100u.dll"
+ )
+ ENDIF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+
# include the language dll's for vs10 as well as the actuall dll's
SET(MSVC10_MFCLOC_DIR "${MSVC10_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC100.MFCLOC")
# Install the manifest that allows DLLs to be loaded from the
@@ -292,10 +314,14 @@ ENDIF(MSVC)
# specified by CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS.
IF(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS)
IF(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP)
- IF(WIN32)
- INSTALL_PROGRAMS(/bin ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS})
- ELSE(WIN32)
- INSTALL_PROGRAMS(/lib ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS})
- ENDIF(WIN32)
+ IF(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION)
+ IF(WIN32)
+ SET(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION bin)
+ ELSE(WIN32)
+ SET(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION lib)
+ ENDIF(WIN32)
+ ENDIF(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION)
+ INSTALL(PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS}
+ DESTINATION ${CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION})
ENDIF(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP)
ENDIF(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS)